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 10
Page 1 of 2 | |||||
Author | Message | ||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3167 |
I have posted on my website a new beta of the Micromite firmware (Ver 5.3 Beta 10) for test and experimentation. This version builds on beta 3 with most changes related to the Micromite Plus version. It can be downloaded from: http://geoffg.net/Downloads/Micromite/Micromite_5.3_Beta_10.zip The highlights include: - TRIANGLE drawing command - GUI RESET LCDPANEL command. This will reinitialise the LCD panel after power down. In addition the MX470 version adds: - PLAY command which will play stereo WAV files or generate precise sine waves - Transparent text on supported displays. - BLIT command which allows moving objects to be displayed over a background image. - OPTION CONTROL command which can be used to change the number of GUI controls allowed. The full list of changes is in the Change Log. Most of the new features have come from Peter Mather and his eXtreme version. Thanks Peter. This should be the last beta before the final version of 5.3 (due in a couple of weeks). Geoff Geoff Graham - http://geoffg.net |
||||
Grogster Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9078 |
PLAY command!!! AWESOME!!! I was just about to redesign one of my annunciator systems, so having integrated WAV file playback now is bloody perfect. Thanks Geoff and Peter!!! What I would like to know, is how Peter managed to get WAV file playback to work. I am pretty sure he himself said this could only be done with an external CODEC chip. Just when you think the MM+ can't get any better, you two guys come up with more amazing features. Do either of you ever sleep? Smoke makes things work. When the smoke gets out, it stops! |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2294 |
hi geoff, is there any chance the following two problems will be fixed? Const A%=123 Print A, A% Const B$="hello" Print B$, B End > run 123 123 hello hello > c$ = "4026782977,junk" d$ = "4026782977,more.junk" Print Val(c$), Val(d$) a% = Val(c$) b% = Val(d$) Print a%,b% Print a%-b% > run 4026782977 4.02678e+09 4026782977 4026782720 257 > also, pasting text into the editor using teraterm is still an issue. setting transmission delays of 20ms/char and 100ms/line (for me, using MX170 and peter's 1455 serial bridge) completely breaks the editor's ability to decode escape sequences - pressing any function key causes the editor to fault. cheers, rob :-) |
||||
CircuitGizmos Guru Joined: 08/09/2011 Location: United StatesPosts: 1421 |
Wow! Micromites and Maximites! - Beginning Maximite |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Music, Speech, BLIT, Text overlay, ..... WOW - this truly is an excellent update to MMBASIC. I do strongly recommend everyone who can, to upgrade their MicroMite as soon as possible and play with these new features - you will love them. Now if I can ask for some help: Please can anyone with a SC Back Pack 64 (as featured in November 2016 edition) AND an ILI9341; please try the following. It was something uncovered yesterday in the frantic last few hours of stress testing and Peter does not have a SC BP64 so could not replicate the issue. First of all, obviously update to this excellent firmware release that Geoff and Peter have worked tirelessly on. So once on v5.3 B10; ensure the ILI TFT is inserted, AND an SD card inserted into the BP64 SD socket (not the TFT SD Socket) then check OPTION LIST includes the following settings: OPTION LCDPANEL ILI9341,L,2,23,29 OPTION TOUCH 1,3 OPTION SDCARD 21,22 Turn the display's backlight on with: PWM 2,1000,100 Now simply type GUI TEST LCDPANEL Do the circles draw correctly continuously? I am experiencing a corrupted screen (and what is best described as pixelated 'squashed' circles) and then everything drawn on the screen after is just wrong! No need for this test on other modules - I have only seen it on the SC BP64. Appreciate anyones feedback. WW EDIT: An SD card MUST be inserted as described above. Everything works ok without the SD card! For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3167 |
Rob, Your first "issue" is not a bug. The types of A and B are defined by their values and they produce the same value with or without the correct type suffix. Try: Const A%=123 Print A, A$ and you will get an error. I'm not sure that the the second "issue" is really worth chasing down (it is extremely contrived) - but it is on the ToDo list regardless. Finally, you should not be pasting into the editor. I plan to see if the editor can be made to cope with such behaviour but it is not a high priority. Geoff Geoff Graham - http://geoffg.net |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2294 |
it does look like an error to me. try: Const A% = 123 B% = 456 Print A, A% Print B, B% > run 123 123 [4] Print B, B% Error: B already declared > if the 4th line generates an error, why does not the 3rd? it seems that when dealing with constants the interpreter doesn't match the "$" or "%" at the end. this is really confusing behaviour until you figure out what is going on. i discovered the above behaviour in an actual program, not through experimentation. i also see that an error is (incorrectly) generated by: > const C! = 123 Error: Conflicting variable type > the problem with VAL() also showed up in an actual program (the same one) when GPS data being handled came out with a small numeric error. the code and data were most definitely not contrived, simply splitting off fields from an NMEA format string returned by a bog standard GPS receiver. cheers, rob :-) |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
@Geoff One thing I insist on before you do anything else: PLEASE add a 'Donation' button on your website At least this will contribute to whatever it is you eat or drink to stay awake for all those hours. . . . WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
lew247 Guru Joined: 23/12/2015 Location: United KingdomPosts: 1676 |
I'v e just flashed my Explore 100 with 5.3 but the computer can't find a serial driver for it Is there any driver I need to download for this? The board was working fine with V5.2 The computer only finds com1 which isn't the E100 Edit: I agree with Phil - put a donate button on the site please you do amazing work |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Hi Lewis, I am doing exactly the same thing now. I had to use an external 5v PSU (remember to remove J1), and all works fine. BUT if the TFT is unconnected then it appears 'dead'. I think this is something to do with lack of a T_IRQ pull-up (something I was discussing with PeterM recently). Stay tuned - I may have updates later. BUT I can say there are no extra drivers required. WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
lew247 Guru Joined: 23/12/2015 Location: United KingdomPosts: 1676 |
Thanks Phil I've always used the 5V psu, I prefer not to rely on usb power Unfortunately its not worked on mine, and removing the display does nothing either, it just wont assign a com port |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Lewis, Just try re-flashing first, then with TFT connected, run through the OPTION setup. For your info, I have: LCDPANEL SSD1963_7,L TOUCH 1,40,39 SDCARD 47 KEYBOARD UK Feeding time at 'the zoo' here so will be an hour or two before I continue with MM stuff. WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
Zonker Guru Joined: 18/08/2012 Location: United StatesPosts: 761 |
Agreed..! You two make up an awesome team... I will be working with the E-100 board and will "load-up"... Thanks MUCH for this awesome release..!! I also agree about the Donate Button..! I appreciate the many LONG hours you both have spent on everyone's behalf...! Such POWER in ONE chip..! WOW... |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 5923 |
I found that character delay of zero and line delay of 300mS seems to work reliably for pasting. Only tried with short programs so far. Jim VK7JH MMedit MMBasic Help |
||||
WhiteWizzard Guru Joined: 05/04/2013 Location: United KingdomPosts: 2794 |
Anyone in the UK wanting to upgrade their Micromite(s) to v5.3, then send your 'bits' to me (along with a pre-paid return envelope) and I will gladly help you out. Alternatively, feel free to drop in for a coffee if you can get to the Heathrow area! WW For everything Micromite visit micromite.org Direct Email: whitewizzard@micromite.o |
||||
circuit Senior Member Joined: 10/01/2016 Location: United KingdomPosts: 232 |
A most generous offer, but perhaps best to wait until the definitive final code is published... |
||||
robert.rozee Guru Joined: 31/12/2012 Location: New ZealandPosts: 2294 |
i believe the below code should fix the bug in VAL(): // Returns the numerical value of the ?string$?. // n = VAL( string$ ) void fun_val(void) { char *p, *q, *tl, *td; int count; p = getCstring(ep); q = p; if(*p == '&') { switch(*++p) { case 'h': case 'H': iret = strtoll(++p, &tl, 16); break; // note that we MUST supply a variable for the // third arg of strol() due to a bug in C32 2.1 case 'o': case 'O': iret = strtoll(++p, &tl, 8); break; case 'b': case 'B': iret = strtoll(++p, &tl, 2); break; default : error("Invalid prefix"); // remove second superfluous semicolon (;) } } else { float tempf = (float) strtod(q, &td); long long int i64 = strtoll(q, &tl, 10); if (td > tl) { targ = T_NBR; fret = tempf; count = td - q; return; } else iret = i64; } count = tl - q; targ = T_INT; } instead of checking the whole string for "E' or "." it performs two conversions, one floating the other integer. whichever one converts the most characters of the string is returned. the above code also maintains a variable called count that contains the number of characters used in the conversion. i'd suggest it would be extremely useful to expose this in an extended syntax: result = VAL (string$ [, count]) this will make it much simpler to split up strings of data returned from GPS and similar serial devices. note: the above code is UNTESTED, but i reckon should be pretty close to being right. it may also be ok to assign to fret and iret directly, not using temporary variables, which would save a few lines of code. programming in C is definitely NOT my forte. i shall now go and wash out my brain with soap! cheers, rob :-) |
||||
paceman Guru Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Geoff, for the graphics TEXT command for the MM2 would it be possible to add an argument to the end of the current list that changes the string to print vertically? No changes would be needed for all the other arguments. For example: HEATER (as is currently - horizontal) or: H E A T E R (xtra argument - vertical) Greg |
||||
Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3167 |
That is a neat bit of lateral thinking - thanks Rob, I will give it a go. Geoff Geoff Graham - http://geoffg.net |
||||
2001cpx Regular Member Joined: 03/10/2013 Location: CanadaPosts: 59 |
from Zonker Yes ! Me Too ,Very Happy!!! "Color Maximite,(Duinomite-Mega,Mini),CGmmStick,GCmicroboard2b,Micromite + explore 64,100,LCD backpack,Lcd Backpack V2,TFT Backpack,Micromite Extreme,Armmite L,F,H,CMM2" |
||||
Page 1 of 2 |
Print this page |