Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 09:30 01 Jul 2025 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Picomite(VGA) V5.07.06 release candidates

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10180
Posted: 04:57pm 03 Jan 2023
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5021
Posted: 07:30pm 03 Jan 2023
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 10180
Posted: 07:49pm 03 Jan 2023
Copy link to clipboard 
Print this post

  Quote  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.


Works for me




Edited 2023-01-04 05:52 by matherp
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5021
Posted: 07:58pm 03 Jan 2023
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 10180
Posted: 10:46pm 03 Jan 2023
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5021
Posted: 07:06am 04 Jan 2023
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 10180
Posted: 07:45am 04 Jan 2023
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5021
Posted: 07:50am 04 Jan 2023
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 10180
Posted: 07:55am 04 Jan 2023
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 5021
Posted: 08:01am 04 Jan 2023
Copy link to clipboard 
Print this post

@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: Netherlands
Posts: 5021
Posted: 07:29pm 06 Jan 2023
Copy link to clipboard 
Print this post

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
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025