Just a regular publish

Dependencies:   mbed imu_driver

main.cpp

Committer:
open4416
Date:
2018-05-26
Revision:
0:c4747ebbe0b4
Child:
1:8a9ac822aab7

File content as of revision 0:c4747ebbe0b4:

#include "mbed.h"

Ticker ticker;
CAN can1(PB_5, PB_13, 1000000);
CAN can2(PA_11, PA_12, 1000000);

CANMessage can_msg_1;
CANMessage can_msg_2;

uint8_t CAN_flag_1 = 0;
uint8_t CAN_flag_2 = 0;

void CAN1_RX(void);
void CAN2_RX(void);

int main()
{
    CAN_flag_1 = 0;
    CAN_flag_2 = 0;
    
    can1.attach(&CAN1_RX, CAN::RxIrq);               //CAN1 Recieve Irq
    can2.attach(&CAN2_RX, CAN::RxIrq);               //CAN2 Recieve Irq

    while(1) {
        while(CAN_flag_1 == 1) {
            can2.write(can_msg_1);
            CAN_flag_1 = 0;
        }
        while(CAN_flag_2 == 1) {
            can1.write(can_msg_2);
            CAN_flag_2 = 0;
        }
    }
}

void CAN1_RX(void)
{
    if(can1.read(can_msg_1)) {
        CAN_flag_1 = 1;
    }
}
void CAN2_RX(void)
{
    if(can2.read(can_msg_2)) {
        CAN_flag_2 = 1;
    }
}