Messages binaires identifiés et lus - nettoyage
This commit is contained in:
parent
13643575c4
commit
320b5eaf04
10
cdc_app.c
10
cdc_app.c
@ -30,18 +30,8 @@
|
||||
#include "log_usb.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#define TAMPON_TOURNANT_TAILLE 255
|
||||
#define TAMPON_TOURNANT_NB 10
|
||||
|
||||
volatile bool in_transfert_cb = 0;
|
||||
|
||||
struct tampon_tournant_t{
|
||||
uint8_t id;
|
||||
uint8_t donnees[TAMPON_TOURNANT_TAILLE];
|
||||
uint16_t index_ecriture, index_lecture;
|
||||
} tampons_tournant[TAMPON_TOURNANT_NB];
|
||||
|
||||
|
||||
size_t get_console_inputs(uint8_t* buf, size_t bufsize) {
|
||||
size_t count = 0;
|
||||
while (count < bufsize) {
|
||||
|
||||
56
log_usb.c
56
log_usb.c
@ -10,12 +10,9 @@
|
||||
|
||||
struct log_buffer_t{
|
||||
char idx;
|
||||
char copy_active;
|
||||
char tampon[TAMPON_TAILLE]; // Tampon tournant - 1er niveau de tampon
|
||||
char log_dispo[TAMPON_TAILLE]; //
|
||||
unsigned int index_tampon;
|
||||
unsigned int index_tampon_ecriture, index_tampon_lecture;
|
||||
}log_buffer[10];
|
||||
}log_buffer[NB_MAX_CDC_CONNEXION];
|
||||
|
||||
static struct log_buffer_t * get_buffer(const char idx);
|
||||
|
||||
@ -33,11 +30,7 @@ static struct log_buffer_t * get_buffer(const char idx){
|
||||
/// @brief Initialisation des structure de reception des données USB-CDC
|
||||
void log_init(){
|
||||
for (int i=0; i<NB_MAX_CDC_CONNEXION; i++){
|
||||
log_buffer[i].log_dispo[0] = '\0';
|
||||
log_buffer[i].index_tampon = 0;
|
||||
log_buffer[i].copy_active = 0;
|
||||
log_buffer[i].idx = INVALID_ID;
|
||||
log_buffer[i].index_tampon = 0;
|
||||
log_buffer[i].index_tampon_ecriture = 0;
|
||||
log_buffer[i].index_tampon_lecture = 0;
|
||||
}
|
||||
@ -49,10 +42,6 @@ void log_create(const char idx){
|
||||
for (int i=0; i<NB_MAX_CDC_CONNEXION; i++){
|
||||
if(log_buffer[i].idx == INVALID_ID){
|
||||
log_buffer[i].idx = idx;
|
||||
log_buffer[i].log_dispo[0] = '\0';
|
||||
log_buffer[i].index_tampon = 0;
|
||||
log_buffer[i].copy_active = 0;
|
||||
log_buffer[i].index_tampon = 0;
|
||||
log_buffer[i].index_tampon_ecriture = 0;
|
||||
log_buffer[i].index_tampon_lecture = 0;
|
||||
return;
|
||||
@ -66,7 +55,6 @@ void log_destroy(const char idx){
|
||||
p_log_bufffer = get_buffer(idx);
|
||||
p_log_bufffer->idx = INVALID_ID;
|
||||
printf("Destruction: idx: %d\n", idx);
|
||||
sleep_ms(1500);
|
||||
}
|
||||
|
||||
/// @brief Ajoute les données reçu au tampon tournant
|
||||
@ -106,9 +94,6 @@ void augmente_index(unsigned int *index, unsigned int offset){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void log_analyse(const char idx){
|
||||
// Les données sont dans le tampon tournant
|
||||
// Nous les copions dans une seconde mémoire pour les analyser.
|
||||
@ -210,42 +195,3 @@ void log_analyse(const char idx){
|
||||
}
|
||||
augmente_index(&(p_log_bufffer->index_tampon_lecture), fin_message);
|
||||
}
|
||||
|
||||
void log_analyse_input_string(const char idx, const char * input_data, unsigned int str_len){
|
||||
// On charge les données dans le tampon
|
||||
// Si on a un message complet, on charge dans log dispo (s'il y a la place)
|
||||
struct log_buffer_t * p_log_bufffer;
|
||||
p_log_bufffer = get_buffer(idx);
|
||||
for(int i=0; i< str_len; i++){
|
||||
if(input_data[i] == '>'){
|
||||
p_log_bufffer->copy_active = 1;
|
||||
}
|
||||
if(p_log_bufffer->copy_active == 1){
|
||||
p_log_bufffer->tampon[p_log_bufffer->index_tampon] = input_data[i];
|
||||
p_log_bufffer->index_tampon++;
|
||||
|
||||
if(input_data[i] == '\n'){
|
||||
p_log_bufffer->copy_active = 0;
|
||||
p_log_bufffer->tampon[p_log_bufffer->index_tampon] = '\0';
|
||||
strcat(p_log_bufffer->log_dispo, p_log_bufffer->tampon);
|
||||
p_log_bufffer->index_tampon=0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// On renvoi la chaine et on remet log_dispo à 0;
|
||||
void log_get(const char idx, char * chaine){
|
||||
struct log_buffer_t * p_log_bufffer;
|
||||
p_log_bufffer = get_buffer(idx);
|
||||
if(p_log_bufffer == NULL){
|
||||
chaine[0] = '\0';
|
||||
return;
|
||||
}
|
||||
|
||||
strcpy(chaine, p_log_bufffer->log_dispo);
|
||||
p_log_bufffer->log_dispo[0] = '\0';
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user