Phatline Posted March 1, 2021 Report 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
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now