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 KingdomPosts: 8592 |
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 KingdomPosts: 3848 |
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 ZealandPosts: 2290 |
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 KingdomPosts: 8592 |
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 ZealandPosts: 2290 |
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: AustraliaPosts: 225 |
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 KingdomPosts: 5735 |
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: AustraliaPosts: 225 |
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 KingdomPosts: 5735 |
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 KingdomPosts: 8592 |
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 KingdomPosts: 5735 |
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: NetherlandsPosts: 3551 |
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 KingdomPosts: 5735 |
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: GermanyPosts: 813 |
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: GermanyPosts: 187 |
I can confirm that on Picomite version: > ? mm.ver 5.070201 -andreas |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8592 |
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: GermanyPosts: 813 |
It wasn't me - I just forwarded the error! Frank |
||||
scruss Regular Member Joined: 20/09/2021 Location: CanadaPosts: 83 |
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 KingdomPosts: 8592 |
Thanks for the report - will fix |
||||
Print this page |