![]() |
Forum Index : Microcontroller and PC projects : PicoMite Alpha Firmware
Page 1 of 17 ![]() ![]() |
|||||
Author | Message | ||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 9992 |
I seem to have found a way round the flash issue so the Picomite is back on ![]() Please find attached a3 PicomiteV5.07.00a3.zip This now has working settick and watchdog + lots of CMM2 commands (MATH, SORT etc.). Next big job is to get permanent options working then I can start on I/O Use LIST COMMANDS and LIST FUNCTION to see what is there Known issues: PEEK and POKE there but not fully working Please use this new thread for issues found, ideas etc. Edited 2021-05-31 21:18 by matherp |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4240 |
Great stuff Peter, I wonder if it would save you time (and questions from uC ignoramus', i.e. me) if you could briefly summarise what your expectation is that the Picromite will not be able to do that the CMM2 can do, ignoring the obvious VGA output, USB keyboard support and performance differences. Thanks, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7458 |
in a3:- LIST COMMANDS: AutoSave and Autosave both listed Poke listed twice Command codes have changed from a2. This may or may not matter but it messed up some progs I already had in flash. SUB has become TROFF PRINT has become RANDOMIZE I don't know if there are others. With the relevant changes my chain test still runs fine. And the light still flashes comfortingly. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 9992 |
The PicoMite is designed as an embedded processor like the normal Micromite not a computer Yes this will happen with every new release until the command list settles down. The flash has the tokenised version stored. You need to reload from ascii source |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4811 |
Peter, Not sure if it is me, but after programming a3, the board resets and starts up as /dev/ttyACM0. And I can use it. Great !! But when I unplug the board, and insert it again, it does not enumerate as a serial port. Not in my W10 PC, not in my linux PC. Maybe I have damaged my board. But it is repeatable. After programming it works, but coldboot it does not. I'll investigate some more. MAybe it is the SD card wiring.... Volhout PicomiteVGA PETSCII ROBOTS |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
Yay. LIST COMMANDS shows POKE twice, also AUTOSAVE. New are ?, AUTOSAVE, CASE, CASE ELSE, CAT, CPU, CSUB, DEFINEFONT, END CSUB, END DEFINEFONT, IRETURN, LONGSTRING, MATH, SETTICK, SORT, WATCHDOG. LIST FUNCTIONS shows AS twice. New are DateTime$(, Day$(. Epoch(, LCompare(, LGetByte(, LGetStr$(, LInStr(, LLen(, MM.Info$(, MM.Watchdog, Peek(. > ?mm.device$ RP2040 PicoMite ~ Edited 2021-05-31 22:25 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
Can you explain what you're doing with the ordered list of commands within a program? PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4240 |
To the limitations of my understanding of micro-controllers I "understand", but those limitations are considerable and the differences between micro-controllers and micro-computers seem to be ever-decreasing ... isn't the CMM2 just a micro-controller with attitude ? However, nevermind, I'm sure someone will fill me in or I'll pick it up as we go along. Given that the PicoMite has a file-system (or so I assume since it has SD support) could I request that you include * commands, OPTION SEARCH PATH, EXECUTE, and RUN with command line options as per the CMM2. This will allow my MMBasic unit-test suite to execute on it which is presumably advantageous to all ... except perhaps yourself given fixing any bugs it finds will ultimately fall to you. Best wishes, Tom Edited 2021-05-31 22:34 by thwill MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
I'm also seeing this. Reflash (don't unplug afterwards) and it works--unplug and no flashing light and no com port. PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7458 |
As Peter said, the progs are stored in flash in tokenized form (not like the CMM2 where the SD files are in ASCII). He's messing with the command table (at the very least some commands will be being removed so that leaves holes) so the tokens will be changing. Reloading the prog in ASCII form re-tokenizes it correctly for the current MMBasic version. I was loading a2 tokenized files into a3 - which is doomed to failure. lol Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
Ah. I somehow imagined that in a program you were executing commands indexed somehow. So this means that until the command and function sets are stabilized, programs saved in flash may well not work after the PICO is flashed with new firmware. So saving to the SD (or on PC) and then after flashing, re-saving the programs to flash will be required (as Peter said, but I didn't understand the context). ~ Edited 2021-05-31 22:52 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7458 |
That's it. I was being lazy. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
What are valid POKE (and PEEK) addresses which might be used for passing values between chained programs in flash? PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4811 |
Hi Peter, Will try my other board tonight, but coldboot is definitely different with a3. software a0 will connect my pi pico as COM13 to the W10 PC software a3 will not connect to the W10 PC. again, a3 works fine when the a3 software is copied, and the unit restarts automatically (also the blinking LED). But not after cold boot, not COM13, no blinking LED. Volhout P.S. also tried after removing the SD card, and all wires. No change. Edited 2021-05-31 23:29 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
Mixtel90![]() Guru ![]() Joined: 05/10/2019 Location: United KingdomPosts: 7458 |
FLASH CHAIN n just retains all variables automatically, apparently. No need to peek & poke. I just tried disconnecting my Pico, waiting untill the com port disappeared and plugged in again. It connected correctly. Incidentally, in FLASH CHAIN n, n can be a variable so you can have a nice easy menu system. :) XMODEM SEND doesn't seem to be working yet. It wipes the prog in ram. XMODEM RECEIVE works fine. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 9992 |
a4 - tidy up PicomiteV5.07.00a4.zip Includes the pin command but this just shows the mapping from GPn[n] syntax to pin numbers e.g. pin(GP28)=1 == pin(34)=1 == GP28pin=34:pin(GP28pin)=1 Absolutely not and never - sorry Works perfectly for me W10 + teraterm Edited 2021-05-31 23:33 by matherp |
||||
Volhout Guru ![]() Joined: 05/03/2018 Location: NetherlandsPosts: 4811 |
Must be difference between boards... OR difference between PC's. I am also using Windows 10 and Teraterm. Quote I'm also seeing this. Reflash (don't unplug afterwards) and it works--unplug and no flashing light and no com port. Works perfectly for me W10 + teraterm Again, the behaviour of a0 is different. Maybe a non initialized vector, flag, of variable. Since enumerating can be the PC, but the LED blinking could be something else. The LED does not blink when I power the board from a charger. Is it related to USB communication ? - in a3 function Timer gives an error. - the blinking of the LED, could it be somewhat irregular ? Looks like the ON period is sometimes a bit longer. I will put a scope on it. Edited 2021-05-31 23:47 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill![]() Guru ![]() Joined: 16/09/2019 Location: United KingdomPosts: 4240 |
That's a shame, one command executed at the top-level runs every automated test I've written. Once you start unit-testing you never look back: ![]() The FAIL is the known issue with STATIC variables that I've recently reported. Anyway, thankyou for the PicoMite, it looks like a great piece of kit to release the magic smoke from whilst flashing LEDs, certainly cheaper than wrecking my CMM1 or 2. Best wishes, Tom MMBasic for Linux, Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3298 |
re: USB not enumerating with power cycle Still occurs for me with a4 using Win10 & Teraterm OR difference between PC's. I am also using Windows 10 and Teraterm. PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2396 |
Yes this will happen with every new release until the command list settles down. The flash has the tokenised version stored. You need to reload from ascii source it may be useful to have FLASH ERASE ALL to make things a little easier when this happens. do the flash slots have any sort of checksum applied? i'm thinking of a means of assuring that a slot isn't corrupted, for instance a bad write or if a pico has been used with MicroPython and the flash has all sorts of random data left behind. cheers, rob :-) |
||||
Page 1 of 17 ![]() ![]() |
![]() |