ok

Dependencies:   mbed ssd1306_library

main_Carte1.cpp

Committer:
emmanueldavid
Date:
2021-02-09
Revision:
0:bce63d085dc2
Child:
1:a119d8dc3ef7

File content as of revision 0:bce63d085dc2:

/*
 * Programme Carte 1
 * E. DAVID - Fevrier 2021
 */

#if !DEVICE_CAN
#error [NOT_SUPPORTED] CAN not supported for this target
#endif

#include "mbed.h"
#include "ssd1306.h"

typedef enum{ 
  DataFrame,
  RemoteFrame,
  ErrorFrame,
  OverloadFrame
} TypeTrame;
TypeTrame Trame;

/*
typedef struct{
  can_id_t id;
  Uchar ctrl;
  Uchar * pt_donne;
} can_msg_t;
*/

DigitalOut ledD9(PA_4);
DigitalOut ledD8(PA_5);   // Attention, désouder SB16&SB18 si utilisation I2c
DigitalOut ledD7(PA_6);   
DigitalOut ledD6(PA_7);

DigitalIn  SW4_1(PA_1);
DigitalIn  SW4_2(PA_3);

InterruptIn SW1(PB_4, PullUp); 
InterruptIn SW2(PB_5, PullUp); 
InterruptIn SW3(PA_8, PullUp); 

CAN can(PA_11, PA_12);
//Serial pc(USBTX, USBRX);

char Data[5] = "GEII";

/* Envoi d'une trame de donnees */
void AppuiSW1() {
  if (can.write(CANMessage(2021, data, 5 , CANData, CANStandard))) { // Rmq : tableau = pointeur
    ledD6 = !ledD6;
  } 
}

/* Envoi d'une trame de requete */
void AppuiSW2() {
  if (can.write(CANMessage(1620, CANStandard ))) {
    ledD7 = !ledD7;
  } 
}

int main() {
    //pc.baud(115200);
    can.frequency(500000); 
    //pc.printf("main()\n");
    Etat = lectureSW4();    // valeur 0,1,2,3
    
    //CANMessage msg;
    //SW1.mode(PullUp);
    //SW2.mode(PullUp);
    //ledD9 = 1;
    //ledD6 = 1;  
    
    SW1.fall(&AppuiSW1);

    
    while(1) 
    {
        //SW1.fall(&AppuiSW1);
        //SW2.fall(&AppuiSW2);
    /*    
        if(!SW2)       //Detect Switch Press
        {
            //ledD8 = !ledD8;
            ledD6 = !ledD6;
            while(!SW2);   //Wait for Key release                              
        }
        */
    }
}