Closed aramperez closed 7 years ago
It appears that v3.3.6 no longer has the mBot Motor class that encapsulated both motors. When creating an "mBot Program" and looking at the Arduino code, you see the following code:
#include <Arduino.h> #include <Wire.h> #include <SoftwareSerial.h> #include <MeMCore.h> MeDCMotor motor_9(9); MeDCMotor motor_10(10); void move(int direction, int speed) { int leftSpeed = 0; int rightSpeed = 0; if(direction == 1){ leftSpeed = speed; rightSpeed = speed; }else if(direction == 2){ leftSpeed = -speed; rightSpeed = -speed; }else if(direction == 3){ leftSpeed = -speed; rightSpeed = speed; }else if(direction == 4){ leftSpeed = speed; rightSpeed = -speed; } motor_9.run((9)==M1?-(leftSpeed):(leftSpeed)); motor_10.run((10)==M1?-(rightSpeed):(rightSpeed)); } double angle_rad = PI/180.0; double angle_deg = 180.0/PI; void setup(){ } void loop(){ _loop(); } void _delay(float seconds){ long endTime = millis() + seconds * 1000; while(millis() < endTime)_loop(); } void _loop(){ }
However, as soon as you define a new block "test", the code changes to the following:
#include <Arduino.h> #include <Wire.h> #include <SoftwareSerial.h> MeDCMotor motor_9(9); MeDCMotor motor_10(10); void move(int direction, int speed) { int leftSpeed = 0; int rightSpeed = 0; if(direction == 1){ leftSpeed = speed; rightSpeed = speed; }else if(direction == 2){ leftSpeed = -speed; rightSpeed = -speed; }else if(direction == 3){ leftSpeed = -speed; rightSpeed = speed; }else if(direction == 4){ leftSpeed = speed; rightSpeed = -speed; } motor_9.run((9)==M1?-(leftSpeed):(leftSpeed)); motor_10.run((10)==M1?-(rightSpeed):(rightSpeed)); } #include <MeMCore.h> double angle_rad = PI/180.0; double angle_deg = 180.0/PI; void test(); void test() { } void setup(){ test(); } void loop(){ _loop(); } void _delay(float seconds){ long endTime = millis() + seconds * 1000; while(millis() < endTime)_loop(); } void _loop(){ }
Notice that the "#include " line gets moved after the move function. You can NOT "Upload to Arduino" as you will get an error.
I can confirm this too...
Solved in later versions
It appears that v3.3.6 no longer has the mBot Motor class that encapsulated both motors. When creating an "mBot Program" and looking at the Arduino code, you see the following code:
However, as soon as you define a new block "test", the code changes to the following:
Notice that the "#include" line gets moved after the move function. You can NOT "Upload to Arduino" as you will get an error.