Jump to content

Recommended Posts

Posted (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 by Phatline

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...