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.
Dependencies: mbed
Bluetooth/IHM_Bluetooth.h
- Committer:
- EISR
- Date:
- 2020-03-12
- Revision:
- 3:07109a6bb472
- Parent:
- 2:1103f5d61035
File content as of revision 3:07109a6bb472:
#ifndef BT_H
#define BT_H
#include "mbed.h"
#include "math.h"
#define STARTBYTE 240 // Valeur de l'octet de start
#define STOPBYTE 15 // Valeur de l'octet de stop
#define KPBYTE 30 // entete de KP
#define KIBYTE 45 // entete de KI
#define KDBYTE 60 // entete de KD
#define SPCMDBYTE 75 // entete de la commande de vitesse
#define CAMXBYTE 100 // entete de la camera
#define POSBYTE 130 // entete pour la position du robot sur la piste
#define LMBYTE 150 // entete du graphe du moteur gauche
#define RMBYTE 165 // entete du graphe du moteur droit
#define ERRORBYTE 180 // entete du graphe de l'erreur d'asservissement
#define CERRBYTE 195 // entete du graphe de la correction de l'erreur (asservissement)
#define SGRABYTE 210 // entete du graphe de la vitesse du robot
class IHM_Bluetooth
{
public:
IHM_Bluetooth();
void run(void);
private:
/**************************************** FONCTIONS **************************************/
void transmitBlu (void); // Fonction permettant la transmission d'une trame de 6octets (interruption)
void receptionBlu (void); // Fonction d'interruption de reception.
void formatTrameT(short reg, int val); // Creation de trames de 6 octets pour des donnees a valeur decimale
int get_val_pc(short reg); // Permet de recuperer la valeur associee au entete en entrée
// et stockee dans un tableau apres sa reception
void TrameCAM(int CAM1, int CAM2); // Creation d'une trame de 6 octets permettant d'envoyer la position sur X
// des vecteurs gauche et droit vu par la camera
void TramePos(int left, int barc, int right); // Creation d'une trame de 6 octets permettant d'envoyer la position du robot
// sur la piste (cote gauche, barycentre, cote droit)
void automate_Tx(void); // Automate pour la transmission. Permet de choisir la trame a creer.
/*************************************** VARIABLES ****************************************/
unsigned int blueRxBuffer[6]; // Buffer de reception de la liaison serie bluetooth
unsigned char blueTxBuffer[6]; // Buffer de transmission de la liaison série bluetooth
unsigned int paramRx[4]; // 0 KP 1 KI 2 KD 3 SPEED
short cb_lm; // Checkbox du graphe moteur gauche
short cb_rm; // Checkbox du graphe moteur droit
short cb_err; // Checkbox du graphe d'erreur de l'asservissement
short cb_cerr; // Checkbox du graphe de la correction de l'erreur (asservissement)
short cb_speed; // Checkbox du graphe de la vitesse du robot
Ticker timer; // Ticker pour gérer la frequence d'appel de l'automate fonction
};
#endif // BT_H