Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 01:46 07 Jul 2025 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 : Micromite MMBasic V5.2 Beta 2

     Page 1 of 2    
Author Message
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 05:23pm 01 Jun 2016
Copy link to clipboard 
Print this post

I have posted an update on the latest Micromite test version (V5.2 Beta 2) which can be downloaded from:
http://geoffg.net/Downloads/Micromite/Micromite_5.2_Beta_2.zip

This fixes all bugs reported in the previous version and adds the ability to specify typed CFunction parameters. These make it easier for CFunction writers to ensure that any passed parameters will be correct. It also allows CFunctions to return strings and floats as well as integers. If you are interested in the details look to the last section in this document: Embedded C Modules\Creating Modules\C Routines.pdf

I know that I said this before but I believe that this is very close to the final V5.2 version which I plan to release in a week or two.

As before, please report any bugs. Thanks.
Geoff
Geoff Graham - http://geoffg.net
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2430
Posted: 01:37am 02 Jun 2016
Copy link to clipboard 
Print this post

not quite so quick young geoff! one of the editor bugs is still present.

follow the following recipe to reveal it:

1. create a program containing the line numbers 1 up to 30, with no other content. after typing in the last line number ("30"), do NOT press return, do NOT press the space bar. instead, with the flashing cursor still sitting hard to the right of the '0' of "30" press f2 to save and run. the message "Saved 123 bytes" will be displayed.

2. next type in 'edit' to return to the editor. the cursor will be sitting at the end of the last line, exactly where it was before you saved and exited. now...

3. press the up arrow key until the cursor is at the top line of the program (line 1),

4. press the left arrow key until the cursor is over the '1' of the first line,

5. press f4 to mark,

6. press the right arrow key until the cursor will move no further to the right,

7. press f4 to cut,

8. press the down arrow key and observe the cursor move down the listing until it reaches line 29, then instead of moving down one more line it will skip to the end of the status line.


note: the program you saved at step 1. is 'slightly wonky'. if you were to add a space character after the "30", then the same length (123 bytes) would be saved, but the odd behaviour later on would not occur. having the cursor sitting hard at the end of the last line of the program seems to trigger things.

cheers,
rob :-)Edited by robert.rozee 2016-06-03
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 02:41am 02 Jun 2016
Copy link to clipboard 
Print this post

Good grief !!!
Geoff Graham - http://geoffg.net
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2430
Posted: 02:48am 02 Jun 2016
Copy link to clipboard 
Print this post

tenacity is my middle name!

it might appear obscure, but is actually quite easy to trigger by accident. just type in a relatively long program (more than a page), hit f2 to save and run with the cursor sitting at the end of the last line, then go back into the editor and start cutting and pasting. things can quite quickly go to custard.


cheers,
rob :-)
 
WhiteWizzard
Guru

Joined: 05/04/2013
Location: United Kingdom
Posts: 2932
Posted: 10:49am 02 Jun 2016
Copy link to clipboard 
Print this post

  Geoffg said   Good grief !!!


Enough detail there for you Geoff?

Joking aside - it is very useful to have such 'steps' to follow - great job Rob.

@ALL: One thing possibly that will prove useful for Geoff when he is 'debugging' is to send him the output of OPTIONS LIST when you initially report an 'issue'. This may help highlight where the 'issue' is when he is fault-finding.

Thanks for this latest update Geoff.
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 02:09pm 03 Jun 2016
Copy link to clipboard 
Print this post

Hi Geoff,

Can I make a suggestion for pages 11 & 14 of the Micromite Plus Addendum Manual.

It might sound a bit silly to the seasoned users, but I think it has merit for users starting out.

I know the situation with the Display connections where the pins are configurable, but it would probably help new users for have a suggested pin for each of these configurable connections when starting out.

It might also save them a little grief down the track, should they choose a pin that may be required for other purposes.

I'd presume someone starting would be connecting a Explorer 64 or a SnadPic with a piece of ribbon cable.

Experienced users will probably pluck it off the top of there head as to which pins to use.

New comers will wonder where to start.

They might randomly choose say a pin required for an RTC at a later point for example.

By the time they have gained a little experience & understanding, they could then make alternate choices for configurable pins.


Personally experienced a similar situation myself when I decided to play with an HD44780 LCD display.

I read "LCD INIT 2, 3, 4, 5, 23, 24" in the manual, but also saw
Pins 23, 24,25, 26, 17, 18 in the example in Silicon Chip (May '14), & did pause to think which example had what limitations.

No real drama with that situation, but it did create a tangent in thoughts for a bit.

Other benefit of suggesting a default, is when the users ask for help, they would be working from a known starting point, and a complete in print example to be starting from.

Cheers

Phil.

Edit.
PS, the word "Default" is a bad choice of wording, "Suggested for beginners" is more the term, just too long winded.Edited by Phil23 2016-06-05
 
viscomjim
Guru

Joined: 08/01/2014
Location: United States
Posts: 925
Posted: 06:28pm 03 Jun 2016
Copy link to clipboard 
Print this post

Just want to say a BIG thank you Geoff. Your incredible efforts are so appreciated. I am still in awe that someone like you spends the time and effort to create something so awesome and you keep making it better and better. I wish I could somehow show you the smiles on just the few people I have turned on to your amazing mmbasic. You have literally opened a whole new world to me and many others since the 150 beta days.

So long story short, THANK YOU!!! YOU ARE LEGEND!!!!Edited by viscomjim 2016-06-05
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 06:52pm 03 Jun 2016
Copy link to clipboard 
Print this post

Thanks Jim, I'm glad that you are enjoying it.

Thanks also Phil, I will put some suggestions into the manual.
P.S. It is encouraging to see the manual being read in detail!

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

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 11:35am 04 Jun 2016
Copy link to clipboard 
Print this post

I can't quite makes sense of page 6.

[Code]
All these chips are in a TQFP surface mount package with a lead pitch of 0.5mm. They are reasonably easy to
solder and can be mounted on a carrier board (for example futurlec.com part code 64PINTQFP) or the
Explore64 which is a breadboard compatible PCB or the Explore100 which is designed to mate with a 5"
display (see http://geoffg.net/micromite.html for examples).
[/code]

Looked at both products on futurelec and expected to see something resembling a LCD backpack from the wording above.

Explore100, I searched for that but it doesn't seem to return hits. Presume it's something on the drawing board? Or is it Peter's Ultimate Backpack.

Also a link to Geoff's Excellent Video on YouTube.

Just spent a few minutes searching for that video Geoff, it does not seem to be getting into the search engines.

Even using it's title, Google returns, and a search within search within YouTube doesn't find it.

Only 1067 views of the video, should be getting heaps more.

1 Explore 64, & 3 SnadPics here as a result of that video.

Cheers
 
lew247

Guru

Joined: 23/12/2015
Location: United Kingdom
Posts: 1702
Posted: 01:19am 15 Aug 2016
Copy link to clipboard 
Print this post

Geoff
Any chance of a SERIALFLUSH command?
like used in ESPBasic

or is there a simpler way to clear the serial buffer than closing then opening it again?
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9589
Posted: 01:27am 15 Aug 2016
Copy link to clipboard 
Print this post

Read everything from the buffer into a dummy string, then clear the string.

Both involve a couple of commands.

Close & reopen serial port = 2 commands, suck everything out of the buffer into a string, then clear the string = 2 commands.

You could easily do this in a sub:


Sub SERIALFLUSH (PN)
Local D$ 'Define D$ only for use by this subroutine(ignores any D$ in main code)
D$=Input$(LOC(PN),PN) 'Suck everything in buffer out
End Sub


As D$ is a "Local Variable" in that it only ever exists within that subroutine, as soon as you exit the sub, the contents of D$ from within that subroutine vanish into the big data void in the sky.

You call it with: SERIALFLUSH (1) to flush handle #1 - change that number for whatever handle you need to clear. Not tried this, but should work fine.
Edited by Grogster 2016-08-16
Smoke makes things work. When the smoke gets out, it stops!
 
nibbler
Newbie

Joined: 18/04/2013
Location: Canada
Posts: 11
Posted: 08:11am 15 Aug 2016
Copy link to clipboard 
Print this post

Since this thread touches on documentation can I humbly suggest having an errata available to the latest version of the Micromite User Manual? Occasionally when a new version of firmware is released an error in the manual is discovered. This is usually mentioned here in the forum but it's quite easy to miss the post especially if it's in a thread that I'm not too interested in. I find the user manual to be well written and most helpful, as is the addendum.

Alan

 
lew247

Guru

Joined: 23/12/2015
Location: United Kingdom
Posts: 1702
Posted: 09:41pm 31 Aug 2016
Copy link to clipboard 
Print this post

Geoff
Is there an arg$ function? or will there be in future versions?
It would make trying to use specific sections of comma separated items so much simpler if there was.


 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 10:42pm 31 Aug 2016
Copy link to clipboard 
Print this post

A little tweak to the INSTR function would allow for simple retrievement of a value in delimited strings.

[code]
INSTR( [start-position,] stringsearched$, string-pattern$ )
[/code]

Adding a count parameter would give the position of the nth occurance of the pattern you look for.
[code]
INSTR( [start-position,] stringsearched$, string-pattern$, count )
[/code]

You would then use it like:
[code]
StartOfSixthField = INSTR(data$, ",", 5)
[/code]
If you then want the eighth field you do either:
[code]
StartOfEighthField = INSTR(data$, ",", 7)
[/code]
or more efficiently:
[code]
StartOfEighthField = INSTR(StartOfSixthField, data$, ",", 2)
[/code]

But this can all be done by a simple subroutine/function also.


Edited by MicroBlocks 2016-09-02
Microblocks. Build with logic.
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 12:58am 01 Sep 2016
Copy link to clipboard 
Print this post

Thanks, a simple and I believe useful extension.
I will add it to the TODO list for further investigation.

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

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 01:04am 01 Sep 2016
Copy link to clipboard 
Print this post

  lew247 said   Is there an arg$ function? or will there be in future versions?
It would make trying to use specific sections of comma separated items so much simpler if there was.

I don't have any plans for this. It is something that you can easily create in BASIC and encapsulate in an ordinary subroutine or function.

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

Joined: 05/04/2013
Location: United Kingdom
Posts: 2932
Posted: 09:48am 01 Sep 2016
Copy link to clipboard 
Print this post

@Geoff

Please can you clarify if v5.2 on your website is the latest version of MMBasic (and no other 'later' v5.2's were released on TBS).

If there are other versions of v5.2; do they each report different numbers on PRINT MM.VER?

All my units here report MM.VER = v5.02.

The reason for clarifying is that PeterM has written a CFunction for me that just will not run on my units and he asked me to check I have the latest v5.2

Thanks,

WW
Edited by WhiteWizzard 2016-09-02
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3282
Posted: 11:32am 01 Sep 2016
Copy link to clipboard 
Print this post

Yes, 5.2 on my website is the latest.

Updating the firmware without incrementing the version number is a big no no but I thought I could slip it under the wire. The change was small and soon after the original release and incrementing the version number for such a trivial change seemed excessive.

Sorry for the confusion but I don't think the change has any bearing on your issue.

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

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1114
Posted: 12:05am 02 Sep 2016
Copy link to clipboard 
Print this post

Geoff,
I print out the manuals when released as I find it much simpler to have these to one side when programming (even read through them in bed much to my wifes disgust ).
Two requests please:
1. Could you include the MMBasic version number in the footer of each page of the manual?
2. For ammendments to the manuals, could you look at partial pages so that a print of several pages could accomplish updating although this may screw up page numbering? I realise this means a lot of mucking about when you do the edits but it would save having to re-print the entire manual for each release.

Lastly, for font #5, is the decimal point also a valid character? If so, the manual needs to indicate this in the section on fonts.

My huge congratulations on the product and the doco - quality that many, MANY companies would kill for.
Thanks, Doug.

... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
Phil23
Guru

Joined: 27/03/2016
Location: Australia
Posts: 1667
Posted: 12:23am 02 Sep 2016
Copy link to clipboard 
Print this post

  WhiteWizzard said  
All my units here report MM.VER = v5.02.


Is it possible in future to report MM.Ver in the format 5.02.000 or 5.02.B01 etc?

I got a little lost for a bit on which ones had which Beta's & so on.

Not actually sure what's on the Snad's I have here as I don't recall when I flashed them.

Phil
 
     Page 1 of 2    
Print this page
The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2025