Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- MarcusEA
- Date:
- 2021-07-13
- Revision:
- 0:27339bb50fd6
- Child:
- 1:248c00db9e9d
File content as of revision 0:27339bb50fd6:
#include "mbed.h" #define CAN_TD D2 #define CAN_RD D10 #define INTERRUPT D8 #define LEFTJOYSTICK true I2C i2c(I2C_SDA, I2C_SCL); InterruptIn interrupt(INTERRUPT); Serial pc(USBTX, USBRX); CAN can1(CAN_RD, CAN_TD); const int main_addr = 0x81; const int alt_addr = 0x83; const int control = 0x76; char rawReading[2]; int xAxis = 0; int yAxis = 0; int main() { pc.printf("Starting I2C converter \n"); //interrupt.fall(&readSensor); can1.frequency(250000); //can1.filter(0x70,0x70,CANExtended); //CANbus filtering to only accept 0x70 CANMessage msg; msg.format = CANExtended; msg.id = 0x71; //messageID msg.len = 8; //length in bytes for(int i = 3; i<8; i++) { msg.data[i] = 0; } int addr = main_addr; if(LEFTJOYSTICK) { addr = main_addr; msg.data[0] = 0; } else { addr = alt_addr; msg.data[0] = 1; } while(1) { i2c.read(addr, rawReading, 2); xAxis = (int8_t)(rawReading[0]); yAxis = (int8_t)(rawReading[1]); msg.data[1] = xAxis; msg.data[2] = yAxis; //pc.printf("X: %d, Y: %d \n", xAxis, yAxis); can1.write(msg); if(can1.read(msg)) { //pc.printf("Recv: %d\n", msg.id); } //send out CANBus value wait(0.02); } }