zioguido / gmlab_d9x Goto Github PK
View Code? Open in Web Editor NEWRepository for the GMLAB D9X Midi Drawbar Controller
Repository for the GMLAB D9X Midi Drawbar Controller
Hello!
I am trying to reprogram the Arduino in Arduino IDE using the 'GMLAB_D9X.ino' code provided. I have edited the user definition of the midi map to correspond with my keyboard but when I try to verify the code I receive this error:
"Call of overloaded 'begin(int)' is ambiguous"
I have downloaded and included the required libraries but I'm not sure if I missed a step. I will attach the full error report below:
"/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino: In function 'void SendMidiCC(int, int, int)':
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:241:38: warning: narrowing conversion of '(176 | channel)' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]
midiEventPacket_t CC = {0x0B, 0xB0 | channel, num, value};
~~~~~^~~~~~~~~
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:241:59: warning: narrowing conversion of 'num' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]
midiEventPacket_t CC = {0x0B, 0xB0 | channel, num, value};
^
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:241:59: warning: narrowing conversion of 'value' from 'int' to 'uint8_t {aka unsigned char}' inside { } [-Wnarrowing]
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino: In function 'void setup()':
NordElectro5:489:15: error: call of overloaded 'begin(int)' is ambiguous
mcp0.begin(0);
^
In file included from /Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:9:0:
/Users/bluedream/Documents/Arduino/libraries/Adafruit_MCP23017_Arduino_Library/Adafruit_MCP23017.h:26:8: note: candidate: void Adafruit_MCP23017::begin(uint8_t, TwoWire*)
void begin(uint8_t addr, TwoWire theWire = &Wire);
^~~~~
/Users/bluedream/Documents/Arduino/libraries/Adafruit_MCP23017_Arduino_Library/Adafruit_MCP23017.h:27:8: note: candidate: void Adafruit_MCP23017::begin(TwoWire)
void begin(TwoWire theWire = &Wire);
^~~~~
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:547:42: warning: invalid conversion from 'void ()()' to 'timerEventHandler {aka void ()(MillisTimer&)}' [-fpermissive]
ButtonTimer.expiredHandler(CheckButtons);
^
In file included from /Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:11:0:
/Users/bluedream/Documents/Arduino/libraries/MillisTimer-master/MillisTimer.h:37:10: note: initializing argument 1 of 'void MillisTimer::expiredHandler(timerEventHandler)'
void expiredHandler(timerEventHandler handler);
^~~~~~~~~~~~~~
/Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:551:41: warning: invalid conversion from 'void ()()' to 'timerEventHandler {aka void (*)(MillisTimer&)}' [-fpermissive]
LedAnimTimer.expiredHandler(DoSpeedLED);
^
In file included from /Users/bluedream/Documents/Arduino/NordElectro5/NordElectro5.ino:11:0:
/Users/bluedream/Documents/Arduino/libraries/MillisTimer-master/MillisTimer.h:37:10: note: initializing argument 1 of 'void MillisTimer::expiredHandler(timerEventHandler)'
void expiredHandler(timerEventHandler handler);
^~~~~~~~~~~~~~
exit status 1
call of overloaded 'begin(int)' is ambiguous"
Line 473 of the 'GMLAB_D9X.ino' code appears to be generating this error:
"mcp0.begin(0);"
Thank you for any help! Not sure if this is an issue with the version of one of the libraries I'm using or if there's something else I need to do to get this thing reprogrammed. Let me know if there's any additional information I can provide to help get this solved.
Much appreciated! :)
The sketch for GMLAB_D9X has an include line for Adafruit_MCP23017.h but the only file that comes close to this in the Adafruit library is one called Adafruit_MCP23X17.h. Should I just manually modify the sketch to Adafruit_MCP23X17.h?
In the case where the Rotary brake is set, and is disengaged by the 'Speed' control rather than the Brake/Stop button, the LED PWM indicates the expected behavior, and the modwheel value is sent (CC1=64 or CC1=127), but it doesn't send the brake release command, CC68=0. My Arduino installation is messed up at the moment and not compiling, but I believe this should fix it.
[code]
diff --git a/Arduino/GMLAB_D9X/GMLAB_D9X.ino b/Arduino/GMLAB_D9X/GMLAB_D9X.ino
index 14fc79d..f4e60ba 100644
--- a/Arduino/GMLAB_D9X/GMLAB_D9X.ino
+++ b/Arduino/GMLAB_D9X/GMLAB_D9X.ino
@@ -422,6 +422,7 @@ void DoButton(int btn, int status)
{
// Disengage the brake..
Latches.RotaryRunStop = 0;
SendMidiCC(0, kMidiCC_RotaryRunStop, Latches.RotaryRunStop ? 127 : 0);
SetLed(LED_RUNSTOP, Latches.RotaryRunStop);
EEPROM.write(EEPROM_SPEED_RUNSTOP, Latches.RotaryRunStop);
}
[/code]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.