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 : Micromite MMBasic V5.3 Beta 3
Page 1 of 3 | |||||
Author | Message | ||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Here we go again, another version another day. I have just finished Micromite MMBasic V5.3 Beta 3 and am looking for any brave souls who would like to give it a run. Actually this beta should be rather bug free as most of the changes have been bug fixes. The Change Log has the full listing but the new features include: - The LIBRARY SAVE command does not require the library area to be cleared first - so you can now incrementally add code to the library. - Faster updating of SPI LCD display panels. - New USB driver (functionality remains the same). - New GUI AREA control makes it easier to construct your own controls in BASIC. - You can now hook into each key press on the NUMBERBOX and TEXTBOX controls so you can control what the user can enter. - A number of updates to GUI controls including flashing LEDs and multiple lines in captions. This version can be downloaded from: http://geoffg.net/Downloads/Micromite/Micromite_5.3_Beta_3.zip These changes should also find their way into the MZ versions by Peter and Kon. As before, please let me know if you find any bugs. Thanks, Geoff Geoff Graham - http://geoffg.net |
||||
sagt3k Guru Joined: 01/02/2015 Location: ItalyPosts: 313 |
Hi Geoff EVAL function ....incredible ... Thanks Sagt3k |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1328 |
That's quite a list Geoff, thanks yet again for all you put in implementing people's requests, adding capability and squashing the bugs. I mainly still use the MX170 and MM2 and for that I think the LIBRARY SAVE change will be particularly useful; I haven't used the library as much as I should have because of SAVE/DELETE/SAVE requirement. A faster screen load is always a plus too (thanks also to MatherP here) and no doubt there will be plenty of users for all the MM+ changes. Thanks again, Greg |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2291 |
darn, that blasted bug in the editor is still there: http://www.thebackshed.com/forum/forum_posts.asp?TID=8701&PN=4 geoff: what was the flash overhead of adding the EVAL function? i see it is not in the MX170 version. cheers, rob :-) |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Not a lot but I want to keep as much flash free as possible for bug fixes. Geoff Graham - http://geoffg.net |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2291 |
personally, i'd be happy to swap DISTANCE for EVAL, but i guess others would disagree! cheers, rob :-) |
||||
piclover Senior Member Joined: 14/06/2015 Location: FrancePosts: 134 |
Last time I had a look at it (v5.2), the sources still let quite some optimization gains open (by grouping all the error/report strings in a single .c file): there's about 1.5kB of potential gain, IIRC. If that could allow to squeeze EVAL into the MX170, it'd be worth it... |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Thanks Geoff for v5.3. Will test tonight . . . Peter, Kon - if you're porting it to MZ I will be more than happy to test this too! Great work with some nice features For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
kiiid Guru Joined: 11/05/2013 Location: United KingdomPosts: 671 |
Thanks Geoff, some of the new inclusions are very useful. As to a MZ port from me, I will not be rushing with one until the final 5.3 is out. Just repeating publicly what I already said earlier - I have no intention to turn the MZ port into a sprint competition who will be first out with it. Focusing much more on quality and features. http://rittle.org -------------- |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
@kiiid That is a sensible approach. I will be testing v5.3 on MX and also Peter's MZ version so this should save you time in the long run. Keep an eye on feedback For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
redrok Senior Member Joined: 15/09/2014 Location: United StatesPosts: 209 |
Hi Geoff; I just burned the new V5.3b3 into an MX170. I have been writing a GPS handler for use as a 1PPS time standard. This works nicely in V5.2 I loaded this program in V5.3b3 and I get this message. What is this and what does it mean? I suspect there is a small bug somewhere that my code is finding. CPU exception #7 at address 0x9D02A56D I'm curious as to why uMITE itself didn't find anythingProcessor restarted wrong. I have to assume this problem runs deeper. 1. This was loaded using XMODEM 2. Reburned V5.2, and my program works fine. 3. My program uses a lot of TeraTerm ANSI screen codes. 4. Burned V5.3b3 again. 4. I hand entered the classic "HELLO" program and it worked fine. 5. I saved and loaded this with XMODEM and it worked fine. (I thought it might have been a problem with XMODEM.) I can send you a copy of my GPS handler if you need it. (I'm almost ashamed to show it as I'm just playing with the nmea strings right now but it does work.) Thanks! redrok |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
This is not good. An exception happens when the CPU finds itself in an impossible position (in this case trying to access non existing memory) so it just reboots itself. MMBasic never gets to see the problem until after the reboot. It is always caused by a bug in MMBasic itself, not your program. The address of the instruction that caused the exception (0x9D02A56D) places it in the routine that retrieves a character from a serial COM port queue however a quick look at that routine does not reveal anything wrong. Can you tell me what com port your program is using? Geoff Graham - http://geoffg.net |
||||
redrok Senior Member Joined: 15/09/2014 Location: United StatesPosts: 209 |
Hi Geoff An exception happens when the CPU finds itself in an impossible position (in this case trying to access non existing memory) so it just reboots itself. MMBasic never gets to see the problem until after the reboot. It is always caused by a bug in MMBasic itself, not your program. The address of the instruction that caused the exception (0x9D02A56D) places it in the routine that retrieves a character from a serial COM port queue however a quick look at that routine does not reveal anything wrong. Can you tell me what com port your program is using? LINE INPUT #2,NMEA$ Here is the program. GPS.bas Note to anyone, this is only a test program. redrok |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Interesting. It seems to be a compiler issue. That part of the code was compiled with the MIPS16 attribute (to reduce the size) and it causes the exception. When I remove the attribute it runs fine. I am very reluctant to blame anything on the compiler but this seems one of the rare cases. Could you please try the attached Beta 4. The only change is removing the MIPS16 attribute from that part of MMBasic. If it works for you I will post it as a proper release. 2016-11-24_032820_Micromite_5.3B4.zip Thanks for finding this Duane. Your clear description helped a lot. Geoff Geoff Graham - http://geoffg.net |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 5914 |
Redrock's program runs OK on an Explore64 with beta 3 MMPlus firmware. The only changes I made to the program was to rem out all the 'SETPIN 2, DIN,PULLDOWN' etc because of the different pin numbers in the Plus. I also removed the MM.PROMPT sub but having it in made no difference - the program still ran OK. Jim VK7JH MMedit MMBasic Help |
||||
redrok Senior Member Joined: 15/09/2014 Location: United StatesPosts: 209 |
Hi Geoff; I am very reluctant to blame anything on the compiler but this seems one of the rare cases. Could you please try the attached Beta 4. The only change is removing the MIPS16 attribute from that part of MMBasic. If it works for you I will post it as a proper release. 2016-11-24_032820_Micromite_5.3B4.zip Thanks for finding this Duane. Your clear description helped a lot. Geoff Thanks for the new revision! TassyJim; I apologize for the crude GPS program, but it's just experimental now. Geoff: I see you have the EVAL function in the Plus version. I was the one who started the thread that evolved into EVAL. Alas, I cant use it in the MX170 though. Is there any chance EVAL would fit into the MX170? As I recall, the original "Tiny Basic" essentially did it in the INPUT statement. I have to say, this was very useful and convenient. A long time ago in Dr. Dobbs Journal there was a Microsoft Basic program that did what Tiny Basic did to the INPUT statement. I assume similarly to EVAL. I've lost this. Do you know where I can find this? Or, a uMITE program to do it or EVAL? Thanks redrok |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
When 5.3 has stabilised I will re look at EVAL. Sorry, I don't have an answer to your other questions. Geoff Graham - http://geoffg.net |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Using v5.3B3 on 64pinner. Via USB (D+/D-) to TeraTerm. Little program loop to display Time$ on TFT (with TEXT), in a continuos DO..LOOP with a PAUSE 1 in the loop. Set OPTION AutoRun ON. When Power reapplied and connect to MM (and as expected I have to restart TeraTerm), the program works fine (i.e. time is displayed on TFT) BUT ctrl-C not responding! Can someone else please try this . . . . UPDATE: Just tried a different USB lead and all works fine Will test some more For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
@Geoffg With v5.3 B3 on a 28 pinner (the SC BackPack on a 2.8" version), when I use GUI CALIBRATE, it does not show the 'success/failure' message on the TFT. EDIT: Using OPTION LCDPANEL ILI9341,L, . . . I know it is working well on the MM+, but is it easy to add this feature to the Standard MM too; or will it just use up too much precious space? WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3165 |
Sorry, it is MM+ only. I'm trying to conserve the MX170's flash for bug fixes and really important things. Geoff Geoff Graham - http://geoffg.net |
||||
Page 1 of 3 |
Print this page |