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 : CMM2: Workflows
Page 1 of 2 | |||||
Author | Message | ||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
I'm wondering what some common workflows look like for those of you programming the CMM2. Working directly on the CMM2 has some downsides for me: - frequent removal of the SD card to copy over images, etc. - no source control What do others do to mitigate these issues? I noticed most of the cmm2fun projects are in github, I'm wondering if this involves manually copying back to PC each time or if there's some other solution I'm missing. In addition, it seems like it could be useful to have a thread discussing common ways of working with CMM2 that might not be obvious to everyone. If there's already a thread for this that I missed in my search, let me know. Thanks. |
||||
mclout999 Guru Joined: 05/07/2020 Location: United StatesPosts: 430 |
I think a lot of people use MMEDIT https://www.c-com.com.au/MMedit.htm on their PC with it linked over the USB B power cable via serial console and upload and download files from there. It takes care of all of your concerns. You can edit it on MMEDIT and run the code directly from an XMODEM transfer. Edited 2021-02-15 16:02 by mclout999 |
||||
vegipete Guru Joined: 29/01/2013 Location: CanadaPosts: 1082 |
I tend use Notepad++ on the PC side, and 'AUTOSAVE "xxx.BAS"" in the CMM2 side. Quick edits on the CMM2 are fine, then 'LIST ALL' and copy the TeraTerm capture back into Notepad++. Occasionally I'll paste into TeraTerm straight into the CMM2 editor, but that is limited to single lines at a time. Visit Vegipete's *Mite Library for cool programs. |
||||
jirsoft Guru Joined: 18/09/2020 Location: Czech RepublicPosts: 532 |
I'm trying to develop most of it direct on CMM2, simply relax from other OSes... And every few hours I'm copying files with Napoleon Commander to Mac (UDP or serial) and from there to GitHub. Just when I'm developing CSUBs, it's done directly in BBedit on Mac, compiled and result is then sent through serial to EDIT into proper place. Jiri Napoleon Commander and SimplEd for CMM2 (GitHub), CMM2.fun |
||||
epsilon Senior Member Joined: 30/07/2020 Location: BelgiumPosts: 255 |
I use XEdit on the CMM2 to edit files (It supports two buffers, split-screen, undo, etc, so even for multi-file programs it's useable). XEdit doesn't hold a candle against any editor on PC, but I really enjoy the process of writing my programs on CMM2, like it's 1989, using an editor that I wrote myself :-) I use xmodem to transfer files over serial. I never ever remove the SD card because I don't trust my soldering enough for the SD socket to last more than two inserts/ejects. When I need to move an entire directory between CMM2 and PC, I use the MAR archiving program (a rough approximation of tar, or zip if you will) to zip up directories into an archive file before I xmodem them. Jiri's Napoleon Commander is also an excellent tool to ferry files between PC and CMM2. Epsilon CMM2 projects |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 5879 |
I do use MMEdit for coding but still have the issue of sending other files to and from the CMM2. I use MMUploader for a lot of file transfers and for initialization files. A quick drag and drop gets the CMM2 configured how I want it after firmware uploads or playing around. I am in the process of completing a FTP server for the CMM2. It works well with the ESP32 and now have to test it with the ESP8266. The first attempt with the ESP8266 had problems with file transfer to the CMM2. I have changed a few settings and I am hopeful. I test with Windows and Linux. Sorting out the differences has been time consuming. I also need to see how fast I can get it to run reliably. Jim VK7JH MMedit MMBasic Help |
||||
Schlowski Newbie Joined: 26/03/2014 Location: GermanyPosts: 29 |
I develop solely on the CMM2 - that's the whole point for me, a complete and closed "retro" system to tinker with in BASIC. Edit-Run-Get error-Edit-Run-See something wrong-... Ah the good old times :-) One thing that makes me crazy is my habit to do a Home-Home "doubleclick" to go to the start of an indented line as usual in Visual Studio - and the editor brings me to the top of the source... Other than that I'm quite happy with the editor and do not miss VisualStudio or UltraEdit or any other PC editor. Every now and then I take the SD-Card to my PC to make a backup. |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 3830 |
Hi @Nelno, I worried about finding an optimal tool-supported workflow quite a lot initially, but these days I merrily just swap the SD card between the CMM2 and either my Win10 or Pi3 box, whichever I happen to be sitting at. I might look at @TassyJim's FTP stuff when he is done, but "whatever works". I guess I might experience mechanical failure with the SD eventually, but I'll cross that bridge if/when it comes. Generally I develop using the CMM2's EDITor via a serial connection from PuTTY (though through my recent VT100 serial experiments I think PuTTY may be a little bit buggy) or TeraTerm. My .git directories are on the SD card so once I pop it into a PC I can just use git directly from it. I also have a script on the Pi that uses rsynch to create a backup from the SD card, but don't run that as often as I probably should. Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
Thanks for the responses. I posted this just before rolling blackouts hit us here in Texas, so it took me a while to get back online. One of the reasons I was looking to find a better workflow than swapping my SD card in and out is because I broke the micro SD card on my Retromax -- several times. Beyond the first time, where I think I just had the misfortune of an out-of-tolerance SD connector that quit working after ~3 inserts, this was mostly because when I was developing my 3D printed case I was inserting it in the case over and over to test fit and weakening the SD card connector without realizing it. In one of my attempts to re-solder a new connector, I managed to delaminate most of the pads that hold it down. Even after buying special high-temp epoxy made for repairing PCBs and using the minimum heat to melt solder I couldn't get replacement pads to stay in place. I did what any sane person would do and hot-glued it. This actually works pretty well, but I am sure that over time it will weaken. So... hoping to avoid removing the card a whole lot. Up till now I've developed solely on the CMM2 except for making art / sound / music assets on my PC. I would kind of like to continue doing that. Part of the fun is pretending I'm still in the 1980's, after all. For this same reason I've resisted figuring out CSUBs so far, though I know I will eventually do this to satisfy my performance habit. I've also just found myself missing source control now and then. It's not really that I'm worried about losing everything, as I make backups each time I remove the SD card, but source control is nice for undoing something when I later decide it wasn't a good idea, and it's also a convenient way to distribute anything I'm working on. The final temptation really is the editor. It probably wouldn't double my output, but I think just a better scroll speed, search and replace, etc. would improve it some non-trivial amount. I'll go through all of the posts and try some of this out. Thanks everyone for the comments! |
||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
This was what I was hoping to do. Unfortunately I haven't been able to get NC to connect to my PC via the COM port (I've got the B connector plugged directly into my PC for power). I probably only gave this about 15 minutes of trying though. I noticed the default baud rate seemed to be something like 219200? Maybe I need to configure this in multiple places (i.e. Python server and NC?) If I can get this working it may satisfy all of my immediate needs. |
||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
I tried pasting straight into TeraTerm as this seemed like one possible workflow for using a PC editor and quickly getting code over to the CMM2, but it was dropping about 1/2 of the text any time I tried. I was pasting maybe a dozen lines of code at the time. I didn't spend any time trying to figure out why that might be the case. |
||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
I absolutely agree there's something to be said for coding on the CMM2 itself. I haven't bothered using any .inc files yet, so I haven't missed having split screen editing. Thanks for reminding me. That's basically same reason I don't want to use my SD card a lot :) What are you using for xmodem? Is that Maxiterm? I will try XEdit out. Thanks! |
||||
Nelno Regular Member Joined: 22/01/2021 Location: United StatesPosts: 59 |
Ah... interesting idea to just put .git on the SD card. I may do that, though I'll just end up resoldering another micro SD, I think. But I've got 4 left, so... One thing I don't want to do is waste a bunch of time finding an "optimal flow", but it does bug me somewhat to know that I could be operating more efficiently on some levels. After all, I have a limited amount of time outside of work and everything else to play with my CMM2, so any significant, low-effort productivity gains are probably worth it. Edited 2021-02-19 13:35 by Nelno |
||||
TassyJim Guru Joined: 07/08/2011 Location: AustraliaPosts: 5879 |
In TeraTerm serial port setting, try a transmit delay of 100 msec/line. 100 is way too big a delay but that is what I use for talking to the slower micromites and am too lazy to change it. Jim VK7JH MMedit MMBasic Help |
||||
epsilon Senior Member Joined: 30/07/2020 Location: BelgiumPosts: 255 |
Vertical split, horizontal split, two views into the same buffer... You're missing out! I use TeraTerm. One annoying issue with xmodem is that it's block oriented, so it'll pad your files with zeros up to nearest block size. It's mostly harmless though, and if you mar your files before transferring, you won't have that issue. Epsilon CMM2 projects |
||||
William Leue Guru Joined: 03/07/2020 Location: United StatesPosts: 381 |
I am deliberately using a simple, primitive, and naive workflow when writing for the CMM2. This is basically a respite from a long career in software using tons and tons of software engineering tools like git, Maven, slack, and a ton of others that make working in a team productive. So it's a bit of a relief to code solo and with the simplest possible methods. I code directly on the CMM2 using the built-in editor. For backup, archiving, etc. I just take out the SD card and put it into one of my desktop computers that has an SD slot and copy the data over to the computer. For debugging I write print statements to a "debug.txt" file and try to use my head. Sure, I miss git and have gotten into trouble a couple of times not having it. And a really good debugger would speed up the diagnosis and fix when I have done something really stupid. I have considered using MMEdit on the PC but haven't gotten sufficiently motivated. If there were good networked software tools on the CMM2 like FTP or putty I would use them for sure, but I can live without them. My main goal is to have fun! -Bill |
||||
johnd Newbie Joined: 22/10/2020 Location: United StatesPosts: 30 |
I think support for a WIFI enabled SD card would provide for a great workflow. Scanning the forum, it looks like the CMM2 doesn't support WIFI-SD cards, so that is a bummer. I wonder if it because they are not being initialized correctly upon startup. I saw a post over in a 3D printer forum that talked about the Marlin controlling software and that when compiling it, a certain line should be un-commented in order for the software to send a WIFI init signal to the SD card on power up to activate the wifi capability, if that was to be used. I wonder if the CMM2 firmware could do the same, or if there is some other reason the wifi cards do not work. |
||||
bigfix Senior Member Joined: 20/02/2014 Location: AustriaPosts: 124 |
In theory there is a perfect solution for this - it does not require any change on the CMM/MicroMite SW side It intercepts the SD Interface and offers a WebDAV Service to the filesystem As there is no lockmanager to steer lowlevel access, one must be careful doing things simultanously This is no issue at a 3D Printer, but eventually at a CMM2 BUT - it seems to be a little buggy FYsetec SD-WIFI The Code is opensource, so someone with the right skills could enhance it WEBdav Server There is also the circuit diagram included on GitHub Some more info on Thingiverse Thingiverse You can buy it here Fysetec Website I am busy right now with a major plumbing (real brass & copper) project - so no time on my side for this |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 8566 |
Tried it - doesn't work - please don't waste your money |
||||
bigfix Senior Member Joined: 20/02/2014 Location: AustriaPosts: 124 |
Good to hear this feedback from someone I trust ! Is it completely broken, or does it at least work somewhat/sometimes ? The concept is attractive - but likely only partially finished... Edited 2021-02-22 20:04 by bigfix |
||||
Page 1 of 2 |
Print this page |