Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 23:48 29 Mar 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 : PicoMite Alpha Firmware

     Page 1 of 17    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8517
Posted: 11:18am 31 May 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 3807
Posted: 11:36am 31 May 2021
Copy link to clipboard 
Print this post

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
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 5648
Posted: 11:56am 31 May 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8517
Posted: 12:14pm 31 May 2021
Copy link to clipboard 
Print this post

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


The PicoMite is designed as an embedded processor like the normal Micromite not a computer

  Quote  Command codes have changed from a2


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: Netherlands
Posts: 3423
Posted: 12:20pm 31 May 2021
Copy link to clipboard 
Print this post

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 States
Posts: 2989
Posted: 12:21pm 31 May 2021
Copy link to clipboard 
Print this post

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 States
Posts: 2989
Posted: 12:28pm 31 May 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  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

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 Kingdom
Posts: 3807
Posted: 12:33pm 31 May 2021
Copy link to clipboard 
Print this post

  matherp said  
  Quote  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,


The PicoMite is designed as an embedded processor like the normal Micromite not a computer


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
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 2989
Posted: 12:36pm 31 May 2021
Copy link to clipboard 
Print this post

  Volhout said  when I unplug the board, and insert it again, it does not enumerate as a serial port.

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 Kingdom
Posts: 5648
Posted: 12:39pm 31 May 2021
Copy link to clipboard 
Print this post

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 States
Posts: 2989
Posted: 12:49pm 31 May 2021
Copy link to clipboard 
Print this post

  Mixtel90 said  I was loading a2 tokenized files into a3 - which is doomed to failure. lol

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 Kingdom
Posts: 5648
Posted: 12:58pm 31 May 2021
Copy link to clipboard 
Print this post

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 States
Posts: 2989
Posted: 01:06pm 31 May 2021
Copy link to clipboard 
Print this post

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: Netherlands
Posts: 3423
Posted: 01:10pm 31 May 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 5648
Posted: 01:28pm 31 May 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 8517
Posted: 01:32pm 31 May 2021
Copy link to clipboard 
Print this post

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

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


Absolutely not and never - sorry

  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
Edited 2021-05-31 23:33 by matherp
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3423
Posted: 01:37pm 31 May 2021
Copy link to clipboard 
Print this post

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 Kingdom
Posts: 3807
Posted: 01:55pm 31 May 2021
Copy link to clipboard 
Print this post

  matherp said  Absolutely not and never - sorry


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
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 2989
Posted: 02:13pm 31 May 2021
Copy link to clipboard 
Print this post

re: USB not enumerating with power cycle

Still occurs for me with a4 using Win10 & Teraterm
  Volhout said  Must be difference between boards...
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 Zealand
Posts: 2282
Posted: 02:18pm 31 May 2021
Copy link to clipboard 
Print this post

  matherp said  
  Quote  Command codes have changed from a2


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    
Print this page
© JAQ Software 2024