giuliomoro sorry, similar to this example where there are pixel plots behind the float pixels
also i cant find how i can change the thickness of the float pixels displayed
giuliomoro sorry, similar to this example where there are pixel plots behind the float pixels
also i cant find how i can change the thickness of the float pixels displayed
Right, so this requires a bit more of work. The thickness of the pixel is always 1 (the drawPixel
command writes one pixel at a time). Also, we transitioned to another library which is more flexible and works with more screens. Here it is: https://github.com/giuliomoro/O2O/ . You can run that example as it is and use /waveform
to achieve the same that you are currently achieving with /values
.
Did you add any other code to the current version of the library?
giuliomoro wow great, ok ill get into this, no i didnt add anything
if you have an SSD1306 you'll need to replace this line in main.cpp
:
U8G2_SH1106_128X64_NONAME_F_HW_I2C_LINUX u8g2(U8G2_R0);
with:
class U8G2_SSD1306_128X64_NONAME_F_HW_I2C_LINUX : public U8G2 {
public: U8G2_SSD1306_128X64_NONAME_F_HW_I2C_LINUX(const u8g2_cb_t *rotation) : U8G2() {
u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_linux_i2c, u8x8_linux_i2c_delay);
}
};
U8G2_SSD1306_128X64_NONAME_F_HW_I2C_LINUX u8g2(U8G2_R0);
giuliomoro this is weird but when i throw the zip in the ide and make the project and run the changed main.cpp i get this
oh sorry I forgot to mention: you need to update your board to the latest dev
branch. Follow instructions here: https://learn.bela.io/using-bela/bela-techniques/updating-bela/#updating-to-an-experimental-release
aha! ran into the same issue.
might be good to add that to the 'Using an OLED Screen' knowledge base page?
also, for Github noobs such as myself, 'the latest dev branch' is somewhat vague.
i'm assuming it's dev-i2c, but if that turns out to be the working one, it was still a lucky guess.
also, allow me to type
No rule to make target '/root/Bela/projects/O2O-main/build/
for community searching purposes. i kinda lucked out finding this thread.
Note added to the knowledge base, good catch.
The dev branch would be this one although the dev-i2c should work too. https://github.com/BelaPlatform/Bela/tree/dev.
so i got lucky and got the ascii BELA logo on my screen. wonderful!
i had to change the
[connect 192.168.6.2 7562 (
message box in the included local.pd file to
[connect 192.168.7.2 7562 (
for everything to communicate correctly.
yay!
bela_robert
woah, youse is fast
bela_robert The dev branch would be this one although the dev-i2c should work too. https://github.com/BelaPlatform/Bela/tree/dev.
ah. ok. i guess that makes sense once you know it.
Remork also, for Github noobs such as myself, 'the latest dev branch' is somewhat vague.
I literally meant the latest dev
branch: the current version of the dev
branch, sorry fpr the confusion.
I would discourage using dev-i2c for anything as it's only randomly occasionally rebased on dev but otherwise unmaintained
ok, gotcha.
tried updating to the latest dev branch over the IDE.
that went wrong somehow, got a dropped IDE connection and no way to recover.
trying the script method as we speak.
edit: seems to have worked. yay.
so i'm trying to get an SSD1327 128x128 oled to work.
updated the code on the board using the script method (again, IDE method failed).
dropped O2O .zip on IDE, adjusted setup function to
u8g2_Setup_ssd1327_midas_128x128_f
it runs, i get the ASCII Bela logo, and i can communicate with local.pd.
my problem is the display speed: if i runparameters
, lfo's
orwaveforms
from the example, everything slows down dramatically, where it feels like the display can't keep up with the data it's being sent.
e.g. waveforms
sends data every 100ms, but that data gets displayed magnitudes slower.
if i hitnumber
after one of the other functions it will eventually display a number, but only after it churns out every single change it was sent - and it seems to be chewing on that info for quite a long time.
e.g. i hadlfo's
running for about ten seconds, turned it off and hit display-text
. that text would take over a minute to appear.
i've a feeling the old OSC2OLED4BELA was faster, but maybe that's just me thinking everything was better when i was younger.
is this to do with the library? am i the first one to notice this? any way to remedy this?
i read about boosting the clock speed (post #57 of this thread) but not sure how to go about doing that, or if that is even the key to the issue. thanks!
okay nevermind, just found another thread where i'm asking the same questions.
still need to check those solutions.
focus much?
hmm. so i hooked the OLED up to pepper.
it's faster than the other board i tried, but still too slow to succesfully keep up with the 100ms bangs Pd is sending out. it seems to be updating at something between half and 1/3 that speed. i.e. if i run LFO's
for four seconds, then turn it off in Pd, it takes another four or five seconds to finish the animation.
it could be workable, but it's not really ideal.
first, check the i2c bus speed by running:
dmesg | grep omap_i2c.*bus
Remork i've a feeling the old OSC2OLED4BELA was faster, but maybe that's just me thinking everything was better when i was younger.
I don't think that would have been the case. It is really down to how much data you send, how fast the I2c bus is and how busy the CPU is doing other things. It seems like it would be good to ignore all past OSC messages and only take into consideration the most recent one available in the queue, but this is a workaround. Let's first find out what is limiting the refresh rate for you now.
[ 0.702571] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 0.704215] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 400 kHz
[ 0.707380] omap_i2c 4819c000.i2c: bus 2 rev0.11 at 400 kHz