![]() |
Forum Index : Microcontroller and PC projects : Micromite 5.1 Firmware Update
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
Troyfa Newbie ![]() Joined: 23/01/2016 Location: AustraliaPosts: 9 |
Thank you so much for your work on the microcrollers and the basic stuff.. and your articles in the silicon magazine... I have read your articles with micromite and the other ones, which inspired me to get a kit... you make it so easy to use these microcontrollers... There's so many mmite projects, and when there's a new firmware update it's hard to know which one to download.. This 5.1 update will it run on the micromite? Do these work in all the mite series? or are they specific? |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
Yes. It will run on all the Micromites except the very first one (based on the PIC32MX150 chip). Note that there are two hex files, one for the 28 and 44-pin Micromite and the other for the Micromite Plus (64 and 100-pin chip). Geoff Graham - http://geoffg.net |
||||
paceman Guru ![]() Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Troy, Geoff's post is absolutely correct but he is talking about the Micromites. I think you might be confusing your Mini-Maximite (often called the Minimite) with the Micromite. MMBasic V5.1 will not run on the Mini-Maximite - see my post in your following thread. Greg |
||||
Troyfa Newbie ![]() Joined: 23/01/2016 Location: AustraliaPosts: 9 |
Thanks for your replies Geoff and Paceman.. Yeah I meant the mini-mite ![]() |
||||
paceman Guru ![]() Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Geoff - here's a couple of edits for the V5.1 Micromite Plus Manual. 1. The GUI SPINBOX command (navigation pane and text body) is entered twice - the pp37 entry should be deleted. 2. The OPTION LCDPANEL command in the navigation pane is entered twice. The second entry should be changed to OPTION LCDPANEL CONSOLE and the following CONSOLE, LCDPANEL and NOCONSOLE entries in the nav pane should be deleted. Greg |
||||
kiiid Guru ![]() Joined: 11/05/2013 Location: United KingdomPosts: 671 |
Just discovered - 5.1 doesn't work with the servos. Upgraded a board from 4.7 to 5.1. A program which was working perfectly under 4.7 doesn't work at all under 5.1 and the servos are jumping randomly. Unfortunately I have deleted my 4.7 copy of the firmware. Can somebody email it to me, urgently please? ![]() knivd@me.com PS. Received a 4.7 copy already. Thanks to everyone for their support! ![]() http://rittle.org -------------- |
||||
BobD![]() Guru ![]() Joined: 07/12/2011 Location: AustraliaPosts: 935 |
Have you tried getting it yourself? Older firmware versions are usually available on Geoff's web site. |
||||
disco4now![]() Guru ![]() Joined: 18/12/2014 Location: AustraliaPosts: 1000 |
Geoff - 5.1 Advanced Manual Page 11 of the advanced manual does not seem to carry all the information over from the old MicroMite Advanced Features manual. In the table the column for the ILI9341 is omitted as are the touch pins. The description of the SPI panels talks about the ILI9163 when it means ILI9341 I think. Here is page 4 from the old advanced manual with the original information. 2016-01-26_235948_Micromite_Advanced_FeaturesP4.pdf Regards Gerry Latest F4 Latest H7 FotS |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
Thanks Greg. Uh oh, that does not sound good. Very easily this is caused by resetting the timer used to generate the servo PWM output. What version are you using (Micromite or Micromite Plus)? I can email you a specially compiled version without the timer change. The information is in the standard Micromite User Manual because it is common to both the standard Micromite and the Micromite Plus. I had a problem deciding what to do with the manuals. I could have had one huge manual (or two as previously) with the MM+ stuff specially marked but that would make it difficult and confusing for the majority of users who are using the standard 28 and 44-pin Micromites. I could have had two completely separate manuals for each version but then it would involve twice the editing work for each change and it would have been difficult for people to tell the difference between the standard Micromite and the Micromite Plus. In the end I settled for the current system where the Micromite Plus Manual has just the unique features of the Micromite Plus. Still not a good solution but I cannot think of anything better. Geoff Geoff Graham - http://geoffg.net |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
Gerry (disco4now): It has just dawned on me what you meant and I missed your point entirely. I have now updated the Micromite Plus Manual with the correct I/O pin allocations for the ILI9341. The updated manual is in the firmware download and can also be downloaded from: http://geoffg.net/Downloads/Micromite/Micromite%20Plus%20Manual.pdf Greg (paceman): The OPTION LCDPANEL command in the manual is correct. There are two different versions of the command depending on if you are configuring a SPI display or a SD1963 display. Your other point is quite correct, thanks for pointing it out. Geoff Geoff Graham - http://geoffg.net |
||||
kiiid Guru ![]() Joined: 11/05/2013 Location: United KingdomPosts: 671 |
Thanks Geoff, it is quite possible that the timer reset is the reason, and if so that is something that I take full responsibility for suggesting ![]() I use only 64-pin MM+ in a few projects, and one of those is the one with the servos. Please email me the mentioned test, I am happy to try it. The problem might be coming from the fact that I drive the servos is some more advanced way. In fact this is actually worth considering as a future command in MMBasic. In order to make a servo useful for some application, one needs not only where the servo needs to be, but also in what time to get there. In my particular application I work with times that make the servo to move at incredibly low speed and with the most precise steps, and probably resetting the times does have a negative effect on that. http://rittle.org -------------- |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
Updated version has been sent via email. Geoff Graham - http://geoffg.net |
||||
paceman Guru ![]() Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Ah, OK thanks Geoff, I need to read a bit more closely. |
||||
KRZ3 Newbie ![]() Joined: 31/12/2014 Location: United StatesPosts: 38 |
Just a comment on the servo issue. I've updated three boards to 5.1 each running a servo. I ran all three for 3 hours with no issues. |
||||
kiiid Guru ![]() Joined: 11/05/2013 Location: United KingdomPosts: 671 |
Thanks Geoff, I will have it tested tomorrow. If you are driving the servo in the simplest possible way, it will probably work. But try to drive it for example in 5ms intervals and 0.005 pulse increments, and you will see what happens. http://rittle.org -------------- |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
That will explain it. The period of a servo control signal is 20mS. Geoff Graham - http://geoffg.net |
||||
paceman Guru ![]() Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
I did some reading on servos about three years ago and the 20mS period (50 Hz refresh) is not a fixed thing but it is the usual rate used. As I recall, different manufacturers (and different products) might use quite different periods and pulse widths, especially with bigger servos and the range of usable periods and pulse widths for a given product can also vary a lot. Greg |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3282 |
This problem is different - the period is 20mS and is not changed. Updating every 5ms means that three of the four updates are "wasted" because you can only have one duty cycle per 20mS. You might as well use one update every 20 m with four times the movement. But the real problem is that in V5.1 the timer is reset every time the SERVO command is used - so it is reset every 5ms and never gets to finish the 20ms cycle. This change was put in at Kon's request to fix a related problem but it has backfired. It just shows how careful I have to be when making changes. Geoff Geoff Graham - http://geoffg.net |
||||
paceman Guru ![]() Joined: 07/10/2011 Location: AustraliaPosts: 1329 |
Yes I get that but can't he just use the optional freq parameter and change it to something less than the 5mS he wants - or am I reading the command wrong again? 5mS is very tight though and doesn't leave much room for a max. positioning 2.2 mS pulse - if that's what his servo requires. Greg |
||||
isochronic Guru ![]() Joined: 21/01/2012 Location: AustraliaPosts: 689 |
I think the so-called "digital" servos use a 400 Hz pulse, which implies a 2.5 msec total pulsewidth. |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |