|
Forum Index : Microcontroller and PC projects : MMBasic V6.03.00 release candidates
| Author | Message | ||||
| Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 795 |
Hi Peter, I fully realise this isn't much to go on, but incase anyone else reports a problem, I've had 2 occurances of a crash requiring a flash nuke to get out of. This was using B5 on a USB LCD ST7796S. Each time I was running a version of the Recursive Mandelbrot attached, I saw a brief flash of heap out of memory or similar then a reboot, displaying the first 3 lines of the normal boot up, then "PC=100055EA LR=100052A9" followed by an immediate reboot, but each subsiquent itteration I only get the "PC=100055EA LR=100052A9", swiftly followed by a reboot.... I've attached a zip with two versions of Mandelbrot, one standard, one recursive. The recursive is almost twice as fast, I did it just to see if it would be and quicker in Basic. :) Kevin mandelbrot.zip |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1094 |
...now a new error with the same program. The program is called "demo.bas" and was working perfectly until recently. You can download it here: https://github.com/guidouil/PicoCalcStuffs With the latest version, PicoMiteRP2350V6.03.00RC7, the program now crashes with this error: Error: Cannot find label (F2 line 358) Line 358 reads: restore edges ...with edges: in same sub.data 0,1, 0,2, 0,4, 1,3, 1,5, 2,3 data 2,6, 3,7, 4,5, 4,6, 5,7, 6,7 In addition, the following will now always be displayed with GFXterm: B:/> [?7h Frank |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11318 |
Can't do anything until the weekend so revert to an older version of necessary. |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1094 |
Try doing the following - Create a file with the following content: Font 8 and launch the program using the built-in file manager.CLS RGB(0,0,0) That changes the font size to "small" for me. The file manager and any LIST I open also appear in small text. This program Font 1 undoes everything. It must also be launched from the file manager.CLS RGB(0,0,0) I hope that Peter won't change the way the system works... Frank Edited 2026-05-14 02:53 by Frank N. Furter |
||||
| Frank N. Furter Guru Joined: 28/05/2012 Location: GermanyPosts: 1094 |
No problem!!! I just wanted to point that out. Frank |
||||
| toml_12953 Guru Joined: 13/02/2015 Location: United StatesPosts: 624 |
Try doing the following - Create a file with the following content: Font 8 and launch the program using the built-in file manager.CLS RGB(0,0,0) That changes the font size to "small" for me. The file manager and any LIST I open also appear in small text. This program Font 1 undoes everything. It must also be launched from the file manager.CLS RGB(0,0,0) I hope that Peter won't change the way the system works... Frank Works great. Thanks! I never would've thought of reducing the font size to eliminate the CRLF at 40 columns. Footnote added 2026-05-14 18:25 by toml_12953 BTW, here's the subroutine I use: SUB LLIST(fname$) FONT 8 OPTION console serial IF fname$="" THEN LIST all ELSE LIST all fname$ END IF PRINT :PRINT :PRINT :PRINT :PRINT PRINT :PRINT FONT 1 OPTION console screen END SUB |
||||
| karlelch Guru Joined: 30/10/2014 Location: GermanyPosts: 327 |
Hi, I have a question regarding LIST COLLISIONS. For my latest robot program (which uses a library), I get: > list collisions LOCAL: none GLOBAL bucket 10: VL53_I2C_CHUNK TOF.PROCESSMSK R.SENDTELEMETRYV GLOBAL bucket 29: DEBUG_VERBOSE J GLOBAL bucket 47: VL53_BUF_SIZE TELE_N_CMD_BYTES GLOBAL bucket 61: IS_RUNNING R._UPDATEFACEP_N GLOBAL bucket 63: VL53_I2C_FREQ VL GLOBAL bucket 65: VL53_I2C_SDA USE_REMOTE_KB GLOBAL bucket 84: PIN_DRV_MA_EN CMD_STOP GLOBAL bucket 85: VL53_I2C_SCL CMD_POWERDOWN GLOBAL bucket 119: SHOW_TOF_DATA SELF GLOBAL bucket 203: TOF_SINC_FREQ R.SENDTELEMETRYSOUT GLOBAL bucket 256: VL53_FW_PART1_SIZE TOF.PROCESSPRAV GLOBAL bucket 273: C_BKG TOF_PARAMS GLOBAL bucket 282: VL53_I2C_ADDR TOF.PROCESSRAV GLOBAL bucket 314: VEL_TURN R._LOGMAXLN GLOBAL bucket 339: PIN_DRV_MA_PH VL53.UPDATE_DATAPBH GLOBAL bucket 353: VL53_RES_4X4 TELE_DATA_OFFS GLOBAL bucket 370: SHOW_SPLASH TOF.PROCESSPDST GLOBAL bucket 393: RMP_MAX_STEPS PIN_COM2_TX GLOBAL bucket 420: VL53_REG_CMD_STAT PIN_BAT R._SERVICECALLBACKT_FACE GLOBAL bucket 472: T_START TOF.PROCESSPPIX GLOBAL bucket 499: VT_DEL_LEFT TOF.PROCESSN_RAV If I want to reduce collisions, how do I do that? The the manual it says "Use this after a representative run to decide whether OPTION LOCAL VARIABLES n should be retuned, or whether a particular variable should be renamed to break a collision.". With OPTION LOCAL VARIABLES n I can reduce the number of collisions to approx. half, but what can I do with renaming? The variable names are so different, how would I need to rename them? This is more out of curiosity; my program runs currently fast enough. Thanks Thomas |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8826 |
Microline 184? Wow... that brings back memories. My second printer was the OKI Microline 80. I still have it somewhere. I even have the stand to take teletype rolls! I don't think I ever used that though. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 11318 |
Just make any small change to a variable name e.g. add x to the end. Any change will change the hash key. However, if the variable table is nearly full you may then get a different hash collision. |
||||
| ville56 Guru Joined: 08/06/2022 Location: AustriaPosts: 478 |
@Peter, is there a possibility to change the behaviour of WEB NTP a litte bit? If if the optional NTP-address parameter is empty e.g. ntp_ip = "" WEB NTP 1,ntp_ip,1000 it would be great that instead of the error "Error : Failed to find NTP address" it would consider the parameter as missing like in WEB NTP 1,,1000 which works. This would make the choice in a program easier if it switches between a specified NTP and a default one. thanks, Gerald 73 de OE1HGA, Gerald |
||||
| ville56 Guru Joined: 08/06/2022 Location: AustriaPosts: 478 |
@Peter, sorry, but ... once again to the WIFI connect problem with Fritzboxes. Is it possible to set the mm.errno and mm.errmsg$ variables straight after startup and a failed wifi connect to some value other than 0 and ""? The reason is that if you specifiy the full OPTION WIFI "SSID","passwd","nodename","IP","netmask","gateway","country" a mm.info(ip address) resolves to the ip address set in the option, regardless if the connect succeeded or not. If the options specified are just OPTION WIFI "SSID","passwd","nodename","country" mm.info(ip address) resolves either to the ip received via dhcp or "0.0.0.0". In that case it is possible to decide whether the connect failed or not. In both cases you get an errormessage at the console. So at least the firmware knows that the connect did fail but it is not reported into the mmbasic environment. Gerald 73 de OE1HGA, Gerald |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |