Phatline Posted March 1, 2021 Report Share Posted March 1, 2021 (edited) look at that code: static u8 h = 0; for (h=0; h<128; h++) { //////// Print Wave //////// // The Scope[128] has 128 colums(H), the value of each points to the ROW(V)/active Pixel. // so we get a Line as we now from Oscilloscopes static s16 v = 0; v = ScopeENV[h]; // set the Horizontal/colum Position & the vertical? APP_LCD_GCursorSet(h,v); // (h, v set insert Position for Bitmap // The Graphical RAM, has H:128 Segments, but the V:64 Segements are divided in // 8x Banks, which are feedet with Data aka "Bit-PAtterns" // you cant adress a single V-Bit Directly! static s16 v_new = 0; v_new = 1 << (v % 8 ); APP_LCD_Data(v_new); } it prints a Waveform-Line on a SSD1306 @ once (so the Waveform already exists int the array "Scope" It works pretty well. But what i now need is a bigger Line.... the line/wave it provides is 1Pixel thick. --- how to achive that? (be aware that APP_LCD_DATA also stepforward one X/H/Colum when it receives a Data!) And for a other part of my code, i need a "Solid Body" for my Waveform. since i use it to show the waveform of a ENVELOPE, i want the top side (above the Wave-form-line) to be blank, while the buttom side of the Waveformline should be filled out (so it has a body/solid) i tried 2 days now... until i realized that i have t make function that provides me a Bit-Pattern that i can send to "APP_LCD_Data(data);" so a simple for loop that fills all Vertical Cells under the Oscilliscopes-point until it reaches the zeroline - want work.... for example the pointer (in sense of elctronical-beam-line-point...) of the Oszilloscope is vertically on position 32, so Pixel 32 to 0 should be Active. so i have to find out on which page (0-7 aka Pixel 0-64Vertical) this pixel is, and then make a BIT-Pattern (how ever this work) for this Pages because not all Bits are Set in Page of the OSC-Pointer-Pixel32.... then set a curosor? then write the first Bit-Pattern. then set the next cursor with a BitPattern that is fully 11111111, then again and again until we are on Zero-Line. or something like that, but for that i dont have enough knowledge of bitshifting, bit-pattern, dot-matrix, pages and stuff... i also coulld modify app_lcd.c.... since i have already some mods. in the datasheet of the SSD1306, i read there is a Vertical Adressing Mod too! (maybe there is a path) Edited March 1, 2021 by Phatline Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.