Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 21:43 02 May 2024 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 : New Version - PicoMite MMBasic V5.07.01

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 11:43am 06 Dec 2021
Copy link to clipboard 
Print this post

New V5.07.01 firmware and updated manual available from

https://geoffg.net/picomite.html

This is mostly a maintenance/bug fix release.

You must load CLear_Flash.uf2 before loading this firmware if upgrading from V5.07.00 or from a beta version of V5.07.01 before b5
Clear_flash.uf2 is included in the download from Geoff's site

PicoMite V5.07.01 Changes from V5.07.00

Fixed Bug in epoch function which changed date$.
Changed maximum WS2812 LEDs to 256
MM.INFO(pinno GPnn) implemented to give physical pin number for a given GP number
Improvement to terminal serial output used by command stacking
Implements a logarithmic scale for the volume control so that PLAY VOLUME 50,50 should sound half as loud as 100,100
Also applies to PLAY SOUND n, ch, type, freq [,vol]
Fixes bug in SETPIN pinno,IR
Fixes bug in parameters following subcommands/sub-functions that are enclosed in brackets e.g. POKE WORD (anything),anything or ? PEEK(WORD (anything))
Allows variables or string literals in the SOUND command for both the channel and sound type. The original syntax is still also allowed
Implements the option of using a standard uart as the console
OPTION SERIAL CONSOLE uartapin, uartbpin
uartapin and uartbpin can be any valid pair of rx and tx pins for either com1 (uart0) or com2( uart1). The order you specify them is not important
Use OPTION SERIAL CONSOLE DISABLE to revert to normal the USB console
Re-compile and build under pico-sdk V1.3
Fixes bug in GPS receipt where the first read of GPS(DATE) may give an incorrect answer.
Fixes bug in reporting the line of an error when goto/gosub to a line number is used.
Fixes bug where OPTION SERIAL CONSOLE DISABLE doesn't work after reboot
Implements LIST ALL fname$
Fixes bug in GUI SWITCH
Restores original program if AUTOSAVE is terminated with Ctrl-C or XMODEM R terminates with an error
Clears variable memory after Ctrl-C out of Autosave
Removes creation of spurious "Reset" USB device
AUTOSAVE "file" now reports a "Syntax Error" rather than "Unknown command".
EDIT "file" reporting an error rather than just ignoring the argument.
OPTION AUDIO now forces reset to avoid user confusion

Source files are available on:
https://github.com/UKTailwind/PicoMite
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 12:01pm 06 Dec 2021
Copy link to clipboard 
Print this post

Thanks Peter,

Appreciate the changes to the error-handling for AUTOSAVE and EDIT, should stop me confusing myself quite so badly.

The change to OPTION AUDIO helps too, sound output from my Maker Pi Pico now seems to be working (even the buzzer, though I didn't test extensively) though the headphone jack is a bit iffy so I'll have to get the soldering iron out.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2290
Posted: 01:20pm 06 Dec 2021
Copy link to clipboard 
Print this post

hi peter,
   great work    

just checked, and see that the USB 'wandering speed' issue is now gone, with the sinewave graphics test i use now running at a nice constant speed.

since switching to the newer SDK, have you tried removing the 'dummy' console write after each 30 seconds of silence? just wondering if this is still needed.


cheers,
rob   :-)
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 02:11pm 06 Dec 2021
Copy link to clipboard 
Print this post

  Quote  since switching to the newer SDK, have you tried removing the 'dummy' console write after each 30 seconds of silence? just wondering if this is still needed.


Now had you asked when I first switched to sdk1.3 ............

UPDATE - just checked and still needed. Without activity TinyUSB drops the connection
Edited 2021-12-07 00:16 by matherp
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2290
Posted: 02:59pm 06 Dec 2021
Copy link to clipboard 
Print this post

it is a pretty minor thing, but does irk me     could be worth asking the TinyUSB people about again, and when they ask for an example point them to the mmbasic source on github.


cheers,
rob   :-)
 
Bill.b

Senior Member

Joined: 25/06/2011
Location: Australia
Posts: 225
Posted: 11:00pm 06 Dec 2021
Copy link to clipboard 
Print this post

Thanks Peter for the update to the WS2812 LED count.  Is 256 the max limit as i have programmed MX170 for a 5m 300 led strip (A bit slow) would like to speed up the sequence

Bill
In the interests of the environment, this post has been constructed entirely from recycled electrons.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5735
Posted: 07:37am 07 Dec 2021
Copy link to clipboard 
Print this post

The MX170 is no speed demon. Whether it can manage the max speed for the WS8212B (800kHz - about 30 updates per second, I'm told) I don't know. Have you tried a faster device like the PicoMite?
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Bill.b

Senior Member

Joined: 25/06/2011
Location: Australia
Posts: 225
Posted: 11:12am 07 Dec 2021
Copy link to clipboard 
Print this post

Hi Mick  The MX170 will address the 300 Ws2812 LEDs but slow. I have used the picomite
up to the 256 limit but would like to go to 300+. I use 5m strip at 60 leds / m
also 4 of 8 * 8 ws2812 matrix displays with a possibility of 6 by 8 * 8 units = 380 LEDs.
256 Led MX170 with Peter's WS2812 csub

Bill
Edited 2021-12-07 21:20 by Bill.b
In the interests of the environment, this post has been constructed entirely from recycled electrons.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5735
Posted: 03:59pm 07 Dec 2021
Copy link to clipboard 
Print this post

It's not the number of LEDs - that's limited by how much memory can be allocated to hold the transmitted string. The MX170 *might* not be fast enough to send the bits at 800kHz. I'm not saying it won't, but it will depend on how the transmission is being handled. Ultimately that's going to decide on how fast you can update the entire string as you have to send all the bits to do that. So, for 256 LEDs you have to send 256*24=6144 bits as a minimum. At 25fps (the minimum you might be happy with for a smooth display) that's 153.6kHz.

There may be a max limit on the number of LEDs set by MMBasic anyway. If so you'll have to use some other method of storing and transmitting the string. Note that the LEDs use a time-sensitive bitrate, it's not something you can bit-bang in BASIC.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 04:06pm 07 Dec 2021
Copy link to clipboard 
Print this post

All devices send data to WS2812 at the same rate, otherwise the LEDs won't light. There is no difference in speed between the MM2 and PicoMite in the transmission. The only significant speed difference would be in the preparation of the data to send in Basic. In both case all interrupts are tuned off during transmission to achieve the sub microsecond timings required. This is why on the PicoMite I limit the number of LEDs to avoid unforeseen issues with missed interrupts
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5735
Posted: 05:48pm 07 Dec 2021
Copy link to clipboard 
Print this post

That makes sense. Thanks, Peter. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3551
Posted: 03:16pm 13 Dec 2021
Copy link to clipboard 
Print this post

Maybe a small suggestion for a change.

Since GP29 is fixed to an internal resistor network, and not available at any of the 40 pins, would it be a good idea to make the readout of GP29 match the value it is measuring ?

There is a 1:3 resistor divider (100k/200k) to Vsys.


setpin gp29,ain
print pin(GP29)


would give a voltage of 5V, not 1.6V
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5735
Posted: 03:36pm 13 Dec 2021
Copy link to clipboard 
Print this post

It wouldn't work if you loaded the PicoMite version of MMBasic onto one of the Pico-compatibles that brings out GP29. It's easy enough to do in software if required anyway.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 813
Posted: 03:55pm 18 Dec 2021
Copy link to clipboard 
Print this post

An acquaintance alerted me to a supposed bug in the V5.07.01 version (before flashing it ran Clear_Flash.uf2):

Bug Report - growing REN lines

Using the built-in editor, I have entered a simple program with some REM lines:
REM_Comment
REM_More to say
Note the number of space characters (_) after each REM.

1) EDIT
2) Change something irrelevant (e.g. indent and remove indent so that editor thinks the file is "dirty".
3) Save (F1)
4) EDIT again (F4)

Result:
REM__Comment
REM__ More to say
An additional space character has been inserted into each line with a REM statement.
next EDIT cycle
REM___Comment
REM___ More to say

So for each edit cycle I obtain one additional space character in all REM statements, slowly moving the comment text to the right.

***

I don't have a working system at the moment, so unfortunately I couldn't try out the error description...

Frank
 
andreas

Senior Member

Joined: 07/12/2020
Location: Germany
Posts: 187
Posted: 04:10pm 18 Dec 2021
Copy link to clipboard 
Print this post

I can confirm that on Picomite version:
> ? mm.ver
5.070201

-andreas
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 05:03pm 18 Dec 2021
Copy link to clipboard 
Print this post

  Quote  Bug Report - growing REN lines


Same on the MM2 so one for Geoff. In any case why does anyone use REM?

UPDATE - but I've fixed it anyway
Edited 2021-12-19 03:58 by matherp
 
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 813
Posted: 06:23pm 18 Dec 2021
Copy link to clipboard 
Print this post

  Quote  Same on the MM2 so one for Geoff. In any case why does anyone use REM?


It wasn't me - I just forwarded the error!  

Frank
 
scruss
Regular Member

Joined: 20/09/2021
Location: Canada
Posts: 83
Posted: 02:13am 19 Dec 2021
Copy link to clipboard 
Print this post

Looks like there's a bug in DAY$:
> ? date$
18-12-2021
> ? day$(date$)
Saturday
> ? day$(now)
Monday

The manual says: "Use NOW to get the day for the current date, ..."
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 08:44am 19 Dec 2021
Copy link to clipboard 
Print this post

  Quote  Looks like there's a bug in DAY$:


Thanks for the report - will fix
 
Print this page


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

© JAQ Software 2024