Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 19:31 17 Jan 2026 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 : ALL: LONGSTRING TRIM buffer%(),p% - Restricted to LLEN(buffer%())-1

Author Message
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 1083
Posted: 02:09am 09 Feb 2023
Copy link to clipboard 
Print this post

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░         WORK IN PROGRESS CMM2  
░░                Please don't reply to thread       ░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░


5.07.02 Bugs
CMM2 Does it have MM.STARTUP
Minor  Bug NUNCHUCK
PIcomite 6.00.01betas
TODO /CHECK
load image bmp issue after a LOAD IMAGE "A1.BMP", i got the message : Error : Unsupported BMP header format\\
Save Image CMM2 Issue
CMM2 MM.STARTUP


Structures Implemented.??

ON ERROR RESTART
Updated HUMID command extra parameter missing form H7 manual

MODE 18 and OPTION DISPLAY in Option LIST
Update manual with MODE RESOLUTION and font.

STEPPER command?

A number of command and function mappings used by the CMM2 were previously also
applied to strings within MMBasic. This is now resolved.
HUMID is not changed to BITBANG DHT22 inside a string.
DHT22 is not changed to BITBANG DHT22 inside a string.
HEX$( OCT$( BIN$( not changed to BASE$([2|8|16] inside a string.
MM.INFO$ is not changed to  MM.INFO inside a string.
MM.INFO( is not changed to M.INFO$( inside a string.
ERASE is not changed to CLEAR VARS inside a string.
I2C I2C2 I2C3 SPI SPI2 are not changed inside a string.


Peter,
While copying some Picomite code to the CMM2 I think I see a potential problem with


void MIPS16 SaveProgramToFlash(unsigned char *pm, int msg)
... about line 6009
// while (*p != 0xff)
while(!(p[0] == 0xff && p[1] == 0xff)){ //guard against potential 0xFF in a token




CMM2 V6.00.00 Beta12 Update
Includes new functionality for German keyboard characters that don't have an ascii representation by giving high value codes 200 upwards.

CMM2 V6.00.00 Beta11 Update
CMM2 V6.00.00 Beta11 Update
Command Tokens are now 16BIT so restriction on 128 commands is lifted.


CMM2 V6.00.00 Beta10 Update
Fixed error in LINSTR function

V6.00.00Beta9 Onwards
V6.00.00Beta9

CMM2 V6.00.00 Beta9 Update
The firmware is also attached here in case you need to regress.

Link to previous 6.00.00 Betas (Pre Beta9)

CMM2 V6.00.00 Beta8 Update
REGEX added/updated

CMM2 V6.00.00 Beta7 Update
Recompiled with STMCUBEIDE 2.0 and some STM32Drivers compiled for size to fix USBKEYBOARD issue.

CMM2 V6.00.00 Beta6 Update
CMM2 V6.00.00 Beta6 Update

CMM2 V6.00.00 Beta5 Update

CMM2V6.00.00.bin.zip


TODO/CHECK
----------

OPEN COM1:9600,INV is sticky.Once INV is set it is not cleared when COM is closed.
Fixed by clearing as part of setupuart()

Fixes bug in day$(now) function
Fix for ERASE var not recovering memory for array and string variables. (as per picomite)

SETPIN pinno,CIN [,option]      -Added as per PicoMite

MM.INFO(OPTION VCC) added returns current value for VCC

MM.INFO(BOOT) will return the reason for the last MMBasic Restart.
“Power On”, ”Reset Switch”, “MMBasic Reset”, ”CPU RESTART”, “Watchdog”, “EXECUTE Timout” or “HEAP Restart”.
These could be written to a log file in MM.STARTUP to see the history of an unattended device.

OPTION NOCHECK [ON|OFF] added.
I2C READ allows >255 chars if INT or Float array used.(as per Picomite)

PIN("TEMP") adjusted to calculate using correct value of 130 degrees for REV V chips.

BITBANG becomes DEVICE as per picomite latest release.(automatically converted)
DEVICE BITSTREAM
DEVICE LCD
DEVICE HUMID
DEVICE WS2812

Automatic length adjustment for string constants.
Where a constant string is less that 16 characters no heap will be used. The data is stored within the pre-allocated table for the variable definitions.
String variables defined with a LENGTH of less than 16 (was previously < 8) are also stored within the variable definition and require no heap allocation.

TEMPR(Pinno [,timeout]) 'new optional parameter timeout to override the default (200mSec) to allow for slow devices.
TEMPR START pinno [,resolution(0-3)] [,timeout]  'new optional  parameter timeout to override the default (100, 200, 400, or 800mSec) to allow for slow devices.

CMM2 V6.00.00 Pre Beta5 Recap
TRIM$

CMM2 V6.00.00 Beta5 Update
Edited 2026-01-17 15:54 by disco4now
F4 H7FotSF4xGT
 
Print this page


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

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026