![]() |
Forum Index : Microcontroller and PC projects : Picomite(VGA) V5.07.06 release candidates
Author | Message | ||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10180 |
Version 5.07.06RC1 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Changes from the last beta Improved error detection on some option commands to avoid lockups through pin conflicts Extra optional parameters for PIO(EXECCTRL PIO (EXECCTRL jmp_pin ,wrap_target, wrap [,side_pindir] [,side_en]) New sub-command LINE AA x1, y1, x2, y2 [, LW [, C]] Draws a line with anti-aliasing . The parameters are as per the LINE command. However this version will use variable intensity values of the specified colour to reduce the “staggered” quality of diagonal lines. In addition this version can draw diagonal lines of any width. NB: At low colour resolutions (PicoMiteVGA and framebuffers on the PicoMite) colours other than green may not show any advantage from anti-aliasing and colours including green (e.g.yellow) may show a different shade in the lower intensity pixels ON ERROR SKIP MODE 2 For i=0 To 360 Step 10 x=100*Cos(Rad(i)) y=100*Sin(Rad(i)) Line aa MM.HRes\2,MM.VRes\2,MM.HRes\2-x,MM.VRes\2-y,3,RGB(green) Next Do Loop VGA ![]() ST7789_320 ![]() Edited 2023-01-04 03:13 by matherp |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
Nice Peter, I like the graphics LINE AA command. I will play with it, will be nice for thicker analog clock hands. Thanks you for the extension of the EXECCTRL helper. I am glad you made them optional, so the syntax for existing programs can stay untouched. I checked the SHIFTCTRL helper, and it is implemented correctly. A small update of the user manual would be great. Another thing I have mentioned before is the PIO INIT MACHINE. The user manual states it is mandatory to have PIO, state machine, and clock speed. Optional are PINCTRL, EXECCTRL, SHIFTCTRL and START ADDRESS. However... EXECCTRL is not optional. It must be used always. So we either have to correct the manual, or check why it is not optional. Regards, Volhout EDIT: the execctrl helper has a flaw. Tried RC1. e=pio(execctrl 0,0,&h1f) syntax error and also with the extra parameters e=pio(execctrl 0,0,&h1f,0,0) syntax error and also with GP2 as first parameter e=pio(execctrl GP0,0,&h1f,,) syntax error only with GPx and values for the new parameters (not optional) is seems okay e=pio(execctrl GP0,0,&h1f,0,0) Regards, Volhout Edited 2023-01-04 05:50 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10180 |
Works for me ![]() Edited 2023-01-04 05:52 by matherp |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
Hi Pter, pio init machine 0,0,f PIO init machine 0,0,f,,e,,0 PIO init machine 0,0,f,p,e,,0 PIO init machine 0,0,f,,e,s,0 PIO init machine 0,0,f,p,,,0 not Only the last one does not work, all other combinations work. You need "e" (execctrl) when you add anything after the frequency. Maybe an obscure reason. We can work around it. It was just awkward.. PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10180 |
Don't know what version you are running but there is no issue I can see with V5.07.06RC1. Please post an actual example code if you can demonstrate something with RC1 |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
Hi Peter, try this: 'pio example program p=0 e=0 f=2000 s=0 start=0 PIO init machine 0,0,f,p,e,s,start PIO init machine 0,0,f,,e,,start PIO init machine 0,0,f,,e,, PIO init machine 0,0,f,p,,, You can use all combinations for the optional parameters, but you need to provide the EXECCTRL parameter "e" Volhout Edited 2023-01-04 17:07 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10180 |
You can't have trailing commas. This is nothing to do with PIO but is standard MMBasic. Just omit the trailing commas and all works Edited 2023-01-04 17:46 by matherp |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
Hi Peter, This is standard picomite RC1. A question. What CPUSPEED is the current image running on ? When I image with RC1 and run above program, I get a remark that PIO frequency must be 2029Hz or higher. When I set CPUSPEED 126000 then the lowest frequency is 1922Hz When I set CPUSPEED 252000 then the lowest frequency is 3845Hz So the CPU must be running (fresh from the imaging) around 133MHz ?? Regards, Volhout Edited 2023-01-04 17:52 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10180 |
Standard speed for the PicoMite is 133MHz (manual page 10), PicoMiteVGA is 126MHz (manual page 11) Edited 2023-01-04 17:59 by matherp |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
@Peter, Previous example about the "e" parameter (2 posts back) was on an older firmware version. I have checked RC1, and in RC1 the "e" paramater is optional. Thanks, Volhout PicomiteVGA PETSCII ROBOTS |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 5021 |
Peter, We have a method to sample the adc's time accuate into an array. We have a method to stream a pulse train from an array. Do you see options to create similar mechanisms for Pio? I can imagine reading fifo into larger arrays from new data in fifo. And similar fill fifo from larger arrays whenever there is an empty slot. This is not something for 50706, since 50706 is close to release. But maybe for a new alpha... or csub. Thanks for evaluating options. Volhout PicomiteVGA PETSCII ROBOTS |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |