Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 22:06 23 Dec 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 : Draft PicoMite 6.00.01 User Manual

     Page 6 of 9    
Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9288
Posted: 11:31am 10 Dec 2024
Copy link to clipboard 
Print this post

  Quote  I thought that MM.INFO(HRES) and MM.INFO(VRES) have replaced MM.HRES and MM.VRES ?


No, for efficiency those are the two that I have left as direct functions
 
twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1307
Posted: 11:39am 10 Dec 2024
Copy link to clipboard 
Print this post

  matherp said  
  Quote  I thought that MM.INFO(HRES) and MM.INFO(VRES) have replaced MM.HRES and MM.VRES ?


No, for efficiency those are the two that I have left as direct functions

... plus mm.ver (= mm.info(VERSION))?

Kind regards
Michael
Edited 2024-12-10 21:44 by twofingers
causality ≠ correlation ≠ coincidence
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4344
Posted: 12:15pm 10 Dec 2024
Copy link to clipboard 
Print this post

  Geoffg said  

I thought that MM.INFO(HRES) and MM.INFO(VRES) have replaced MM.HRES and MM.VRES ?

Geoff


Please pleas please not....

All VGA programs, and most LCD programs use MM.HRES and MM.VRES. Changing these would require touching every single program I have ever written.

Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9288
Posted: 12:18pm 10 Dec 2024
Copy link to clipboard 
Print this post

  Quote  Changing these would require touching every single program I have ever written.

No it wouldn't. For these sort of functions I put automatic conversion into the firmware to maintain backwards compatibility.

       STR_REPLACE((char *)inpbuf,"MM.INFO$","MM.INFO");
       STR_REPLACE((char *)inpbuf,"=>",">=");
       STR_REPLACE((char *)inpbuf,"=<","<=");
       STR_REPLACE((char *)inpbuf,"MM.FONTHEIGHT","MM.INFO(FONTHEIGHT)");
       STR_REPLACE((char *)inpbuf,"MM.FONTWIDTH","MM.INFO(FONTWIDTH)");
       STR_REPLACE((char *)inpbuf,"MM.PS2","MM.INFO(PS2)");
       STR_REPLACE((char *)inpbuf,"MM.VER","MM.INFO(VERSION)");
       STR_REPLACE((char *)inpbuf,"MM.HPOS","MM.INFO(HPOS)");
       STR_REPLACE((char *)inpbuf,"MM.VPOS","MM.INFO(VPOS)");
       STR_REPLACE((char *)inpbuf,"MM.ONEWIRE","MM.INFO(ONEWIRE)");
       STR_REPLACE((char *)inpbuf,"SPRITE MEMORY","BLIT MEMORY");
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 12:18pm 10 Dec 2024
Copy link to clipboard 
Print this post

Volhout: Thanks for the typos.

  Volhout said  Please also check if this (page 7) applies to the USB versions (using CH340)

That page is for the console over USB (not the TTL serial port).  At the top of the page it redirects users of the USB versions with:

  Quote  Versions of the PicoMite firmware that support a USB keyboard/mouse cannot create a virtual serial port and you should refer to the section titled Connecting a Keyboard/Mouse for the alternative.


I did not want to confuse the ordinary user reading this page by discussing special cases like the USB firmware version - which most will not be using.

Geoff
Geoff Graham - http://geoffg.net
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4344
Posted: 12:23pm 10 Dec 2024
Copy link to clipboard 
Print this post

Hi Geoff,

I suggested this before, but there is an inconsistency in MM.INFO.

Some line use MM.INFO(xxx) and some use MM.INFO$(xxx). And this is not related to the response type (string or number or boolean) as in below example (both respond with a string).



And you can absolutely use either (MM.INFO and MM.INFO$) for every line I checked. Maybe the $ should be omitted -or- the use of the $ should have a relation to the response type.

In latter case, following need the $ added:
SYSTEM I2C
OPTION option
IP ADDRESS
PATH

Volhout
Edited 2024-12-10 22:35 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 12:43pm 10 Dec 2024
Copy link to clipboard 
Print this post

You are quite right, MM.INFO$ should be used when a string is returned,
I will fix it.

Geoff
Geoff Graham - http://geoffg.net
 
cosmic frog
Senior Member

Joined: 09/02/2012
Location: United Kingdom
Posts: 289
Posted: 03:25pm 10 Dec 2024
Copy link to clipboard 
Print this post

Hi Geoff.

On page 42 of the manual it says - "The following shows a typical usage where d4 to d7 are connected to pins GP2 to GP4...
Should be "connected to pins GP2 to GP5..."

Thanks.

Dave.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9288
Posted: 06:54pm 10 Dec 2024
Copy link to clipboard 
Print this post

Geoff

OPTION PS2 PINS is replaced by OPTION KEYBOARD PINS.
Please add a note that it can only be used when the PS2 keyboard is disabled (OPTION KEYBOARD DISABLE)

Please add a note that OPTION MOUSE can only be used to change pins when the PS2 mouse is disabled (OPTION MOUSE DISABLE)

Thanks
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 09:28pm 10 Dec 2024
Copy link to clipboard 
Print this post

Thanks guys, changes made.
Geoff Graham - http://geoffg.net
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 916
Posted: 07:52am 11 Dec 2024
Copy link to clipboard 
Print this post

WEBMITE ONLY Function
Function JSON$ missing. Not in WEBMite Manual either.
Pretty sure its valid.
Description from Armmite manual as below.
Peter might have to verify what situation with large data set it.

JSON$(array%(), string$)


Returns a string representing a specific item out of the JSON input
stored in the longstring array%()
e.g.
JSON$(a%(), “name”)
JSON$(a%(), “coord.lat”)
JSON$(a%(), “weather[0].description”)
JSON$(a%(),”list[4].weather[0].description
Examples taken from api.openweathermap.org


Many JSON data sets are quite large and may be too big to parse with the
memory available to the Armmite F4. Where the memory is exhausted the
effect on the Armmite F4 may be unpredicable, however if there is an issue
the firmware will attempt to force a software reset and print a relevant
error.
If the data set you are working with is too large and can’t be made smaller
another approach will be required
Latest F4 Latest H7
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 11:17am 11 Dec 2024
Copy link to clipboard 
Print this post

Thanks Gerry.
Peter, any changes?

Geoff
Geoff Graham - http://geoffg.net
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9288
Posted: 04:43pm 11 Dec 2024
Copy link to clipboard 
Print this post

no changes - looks good
 
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 166
Posted: 08:20pm 11 Dec 2024
Copy link to clipboard 
Print this post

Geoff,

I noticed that Appendix J – Advanced Graphics NOT AVAILABLE ON HDMI OR VGA VERSIONS in Revision 1 is gone.
This is an important chapter and if it is no longer in the manual it will be forgotten.

Another point is possibly some more program examples that are on the forum but not in the manual as a starting point for your own program.

Greetings,
Jan.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 08:38pm 11 Dec 2024
Copy link to clipboard 
Print this post

I decided to move the Advanced Graphics stuff into its own own document that will accompany the main manual.  This was because it was rather large.

Good point about demo programs.  I will look into it.

Geoff
Geoff Graham - http://geoffg.net
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 379
Posted: 09:03pm 11 Dec 2024
Copy link to clipboard 
Print this post

Oh that's a pity, I think it's good to have everything and really everything in one PDF. Please reconsider this point.

This would also be a good tip for WebMite:
https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15678

I am currently looking for the article (link to the forum?) by Peter on how to define your own display driver in Basic and then the internal commands such as circle and line simply work. This should also be in the manual.
A lot of information is still too scattered.

Matthias

Where is revision 1? I still have the 0.
Edited 2024-12-12 07:07 by homa
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 379
Posted: 09:17pm 11 Dec 2024
Copy link to clipboard 
Print this post

found

Is this also possible for the Pico?

https://www.thebackshed.com/forum/ViewTopic.php?TID=10159&PID=189740#189740
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3232
Posted: 10:15pm 11 Dec 2024
Copy link to clipboard 
Print this post

  homa said  This would also be a good tip for WebMite:
https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=15678

That is good but the best place for it is in the FruitOfTheShed

  homa said  Where is revision 1? I still have the 0.

It is here: https://www.thebackshed.com/forum/ViewTopic.php?TID=17476&P=5#230854

Geoff
Geoff Graham - http://geoffg.net
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6904
Posted: 11:09pm 11 Dec 2024
Copy link to clipboard 
Print this post

I think we have to be careful just how much goes into the manual. It might be considered a good thing to put all sorts of stuff in, but it should be balanced against how much use it will be to most of the users/readers.

The Advanced Graphics is a typical case. It adds a lot of bulk to the manual but is useless to those using a Webmite or even many of the LCD displays. It's also useless to those using the PicoMite as an embedded controller. A separate document might allow this topic to be expanded a little if considered necessary.

Once again, creation of display drivers is a specialist task that only a few will ever attempt. It doesn't really need to be in the manual any more than writing CSUBs does.

Fruit of the Shed is a great resource. I think we should make more of it and use it as an extension to the manual, effectively.
Mick

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

Joined: 09/06/2017
Location: Finland
Posts: 365
Posted: 09:03am 12 Dec 2024
Copy link to clipboard 
Print this post

PicoMite User Manual MMBasic BASIC Interpreter Ver 6.00.01

page 124: MATH PID INIT
  Quote  The pid_params!() arrays must be initialised with the required settings for the
controller (elements 0 to 8).


I think it would be good indicate that the pid-params!() array has to be dimesioned for all the listed elements, including the controller memory parameters:
DIM pid_params!(13)

Pluto
 
     Page 6 of 9    
Print this page
© JAQ Software 2024