![]() |
Forum Index : Microcontroller and PC projects : Transferring programs to micromites
Author | Message | ||||
Henk Newbie ![]() Joined: 06/10/2015 Location: NetherlandsPosts: 20 |
I am working with 10 micromites II all containing the same program. If I change something in the software I have to program all the micromites again one at a time. This is getting a bit of a bore. So i am looking for a way to program them all together in one go. I have tried to transfer the programs connecting the RX, TX terminals together but that only works for max. 3 micromites. If i add a fourth the communication breaks down. Is there a known way , or an idea, to transfer a program to more micromites in on go? It should be a great help to me. Henk |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2944 |
Hi Henk, This is an interesting one! First of all, can I ask how you are doing 3 MM's. Are you using MMEdit to 'transmit' the program? I would have assumed that there is some kind of 'handshaking' between a MM and MMEdit and hence surprised that three are working. If there is no handshaking then I guess you just need some power poffering on the Tx/Rx line(s). I am away from home at the moment so can't offer any useful advice yet; but I will be trying this myself later! In the meantime, lets see what anyone else here can suggest. WW |
||||
Henk Newbie ![]() Joined: 06/10/2015 Location: NetherlandsPosts: 20 |
Yes I use MMEdit to transfer the program with an original FTDI USB to TTL serial cable. Maybe there is handshaking and maybe that is the reason it go's wrong with more then 3 micromites connected ![]() Henk |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3292 |
No, there is no handshaking. The Micromite enables a weak pullup (~100K) on the console Rx line and having ten of these in parallel might stop the FTDI USB to TTL serial cable from pulling the line low enough. It sounds as if you need a powerful buffer to drive this line. Geoff Geoff Graham - http://geoffg.net |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2944 |
There appears to be a requirement by MMEdit to initially wait for the MM to be 'ready' (not really handshaking); so hence there is a requirement for the computer end to have it's 'receive' line connected. If this were NOT the case, then simply connecting the USB's Tx line to all 10 MM Rx lines would work (with power buffering). You can confirm this by only connecting the USB Tx to the MM Rx and then trying to upload a program using MMEdit (i.e. leave the USB Rx to MM Tx line disconnected). Nothing happens; MMEdit remains waiting for something from the MM. So because the MM has to signal to MMEdit that it is 'ready', then I can see potential conflicts occurring with more than one MM. So the fact you are getting three working is surprising. I then tried loading a large program into a single MM, and as soon as I disconnect the USB Rx to MM Tx line, the upload stops implying MMEdit is waiting for some signal from the MM during transfer. This makes it even more surprising that you have three working!! I will keep thinking about this . . . . WW |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3292 |
MMEdit might be using XModem which does have handshaking. If you use AUTOSAVE you can just paste the program into Tera Term and it will stream it to the Micromite with no handshaking. Geoff Geoff Graham - http://geoffg.net |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2944 |
@Henk If you're able to try the AUTOSAVE from TeraTerm (as mentioned in Geoff's second post), then it will be interesting to see how many MM's you can then program before the internal PullUp resistors (mentioned in Geoff's first post) have an impact. I have never personally used the AUTOSAVE function so can only refer you to the User Manual for details on how to use it to transfer a program from TT to MM. Hope you are able to try this. If so, let us know how many MM's you successfully program ![]() WW |
||||
Henk Newbie ![]() Joined: 06/10/2015 Location: NetherlandsPosts: 20 |
Thanks for all the help and ideas. Now I have some clues how to proceed. I will try it out this week and let you know what I find. Great! Henk |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6283 |
If you use the 'load and run' option in MMEdit, it uses XMODEM. If you use 'load' from the terminal screen, it uses AUTOSAVE. In both cases, there are differences depending on the type/version of device connected so MMEdit is likely to interrogate the device to determine what version of MMBasic it's running. This is definitely the case with 'load and run' but not so important with AUTOSAVE so it might work. Jim VK7JH MMedit |
||||
akashh Senior Member ![]() Joined: 19/01/2014 Location: IndiaPosts: 115 |
A CLONE function would be very cool, you specify the icsp pins of the slave and it would make an exact copy of the flash onto the slave device. Not sure whether any of the other icsp programming threads have info that could be used for this or perhaps even a cfunction could be developed. Just a thought. |
||||
Henk Newbie ![]() Joined: 06/10/2015 Location: NetherlandsPosts: 20 |
I have tried the tip Geoff gave about using autosave and terraterm and I can confirm this works well with programming more micromite's in one go. Thanks for this. henk |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |