howdy, i am a hardware designer but dont know a lot about code. i was curious if there is a way to build a little knob and button box that added some quick access features? to keep the question simple for right now i would want to ask this: could i make a box with 6 knobs that would allow me to quickly edit POS DIR AMT GRV MCC MCH. i have a guy that codes stuff for my company but before i started bugging him with this i figured i would as the people more familiar with the code.
if this kind of stuff can be done i would love to make a box that has more controls than that to make a lot of the deeper features of nemo much quicker to access.
Hey, we've had a few people ask similar questions over the years. I have written a lot of code for the Octopus and there are a few things to consider. Typically, the code would be organized using a model-view-controller pattern, meaning that button/encoder (controller) code is separate from LED (view) code which is separate from the rest of the code that decides what global variables to update based on the rules of the machine (model). In my experience, updating the controller and view for a new feature takes only a few minutes. Building and integrating the constructs for even seemingly simple features can take hours, or days, and sometimes weeks. Your programmer friend would also need to be familiar with an open source MIDI library that can hopefully drive the sequencer. This is hard to do. The Octopus/Nemo have ~60k lines of code and if you are lucky and nail it with the right use of the right open source MIDI lib, then you may only need to write 5k to 10k lines of code. The time and effort wouldn't make sense unless you plan to make a lot of them.
My recommendation would be to wait around for another Nemo to come up for sale, or see if your friend can work on our open source project to comment out a lot of code until you are left with just the 6 features that you mentioned.
The GenoQs source code has a copyright so building the same hardware and porting the hardware interface code to a newer development board is also off the table unless you work that out.
BTW - did you receive the bearings? How did that work out? How do the plastic ones look? I'm still interested in replacing my rusted bearings but was waiting on confirmation of the exact measurement (7.5mm or 8mm).
Agree with Eric's points. Its a bold idea.... I'm guessing you are not shy to drilling holes muhaha ;). I have not looked in detail comparing the OCT/Nemo hardware, however they are bound to be very similar. i.e. Nemo share the same Arm 7 CPU aka heart design and the same input circuits albeit clearly reduced by the design.
The lib (ecos) and core OS code inc. all the hardware timers, interrupts and execution threads are shared code. So in theory if you added some pot circuits to the same address lines (POS DIR AMT GRV MCC MCH) in the correct way the core OS code in theory should poll them.
At the control level code you'd need to extend for routing the POTS actions NEMO_Intr_ROTARY.h and _NEMO_exe_rots. The OCT source has all the handing for the (POS DIR AMT GRV MCC MCH) anyway so it would be a straightforward port over.
However, easy to get carried away. I think a clean solution for piggybacking some link hardware would be challenging i.e. drilling into traces etc. its going to be pretty hairy with your beloved Nemo. Maybe there is a clean entry/header, have to look carefully at the board and see what you find (BTW any investigation you do make please document and share always an interesting read!).
If still keen definitely bread board and test the ROT interrupt. See if its worth the considerable investment of effort. That said, maybe there are other ways to solve the issue? i.e. how about Shift + Enc routing logic of the 4 encs to a remapped Attr? Again real estate is tight and overloading buttons can be a pitfall.
Wilson
thanks! i figured this would be the answer.
i have received all the bearings but work has gotten in the way of me taking apart the nemo and testing them out again. ill do this in the coming weeks and provide photos.