Reverse the Can + and - from the unit to the turbo. suppose is 0x02 did something though, the can is right.
How are you powering the turbo? It will need a relay powered off the battery directly.
I have this code to just walk out the turbo slowly. to test the vane sending functions.
#include <SPI.h>
#include <can.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Defines for setting up the CAN Bus
#define mode NORMAL // define CAN mode
#define bitrate 250 // define CAN speed (bitrate)
MCP CAN1 (10); //Create CAN Channel
//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
unsigned int last_vane_position = 40;
unsigned int DesiredPosition;
unsigned int vane_position;
int VanePos = 0;
void setup() {
// Initialize Serial communications with computer to use serial monitor
Serial.begin(115200);
// lcd.begin(20, 4); // initialize the lcd for 20 chars 4 lines and turn on backlight
// Set CAN mode and speed
CAN1.begin(NORMAL, bitrate);
//lcd.setCursor(0, 0);
//lcd.print("CM^2 = ");
}
void loop(){
if(DesiredPosition > 800){
DesiredPosition = 100;
}
else{ DesiredPosition += 1;}
// Set the Turbo Position
SendTurboPosition( DesiredPosition );
// Delay for Processor
delay(5);
VanePos = constrain(map(DesiredPosition,40,960,3,25), 3, 25);
//String TurboPos = String(String(VanePos, DEC) + " ");
//lcd.setCursor(6, 0);
//lcd.print(TurboPos);
}
void SendTurboPosition( int TurboPosition )
{
last_vane_position = DesiredPosition;
int FinalPosition = map( TurboPosition, 0, 1023, 960, 40 );
byte lobyte = lowByte(FinalPosition);
byte hibyte = highByte(FinalPosition);
unsigned long ID = 0x0CFFC600; // Random Extended Message ID
byte length = 8; // Data length
byte data[] = { lobyte, hibyte, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; // data message with an added counter
CAN1.send ( ID, extID, length, data ); // Load message and send
}