Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

Committer:
JayMcGee
Date:
Mon Oct 02 21:54:52 2017 +0000
Revision:
29:56b6c15904e6
Parent:
28:322985c7e428
Merge

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JayMcGee 28:322985c7e428 1 /**
JayMcGee 28:322985c7e428 2 * APP3 : Jean-Phillippe Fournier fouj1807 & Jean-Pascal McGee mcgj2701
JayMcGee 28:322985c7e428 3 * parser.h - Lecture du fichier de configuration du coordinatuer
JayMcGee 28:322985c7e428 4 */
JayMcGee 28:322985c7e428 5
JayMcGee 4:ed53c87777f6 6 #include "parser.h"
JayMcGee 4:ed53c87777f6 7
Cheroukee 5:9e6a09a38785 8 LocalFileSystem local("local");
Cheroukee 13:5f21dd134bd2 9
JayMcGee 28:322985c7e428 10 // Lecture du fichier de config du coordinateur
Cheroukee 13:5f21dd134bd2 11 coordinator_config_t read_coordinator_config()
Cheroukee 13:5f21dd134bd2 12 {
Cheroukee 13:5f21dd134bd2 13 coordinator_config_t config;
Cheroukee 13:5f21dd134bd2 14
Cheroukee 13:5f21dd134bd2 15 Serial pc(USBTX, USBRX); // tx, rx
Cheroukee 13:5f21dd134bd2 16 FILE *fp = fopen("/local/config.txt", "r"); // Ouvrir config.txt pour lecture seulement
Cheroukee 13:5f21dd134bd2 17 pc.printf("Opening configuration file for the coordinator\n\r");
JayMcGee 28:322985c7e428 18 if (fp == NULL) // Echec de l'ouverture de fichier
Cheroukee 13:5f21dd134bd2 19 {
Cheroukee 13:5f21dd134bd2 20 pc.printf("Failed to find configuration file. Setting default configuration\n\r");
Cheroukee 13:5f21dd134bd2 21
Cheroukee 13:5f21dd134bd2 22 sprintf(config.server_url, "localhost");
Cheroukee 13:5f21dd134bd2 23 config.pan_id = 0x1;
Cheroukee 13:5f21dd134bd2 24 }
JayMcGee 28:322985c7e428 25 else // Succes de l'ouverture du fichier
Cheroukee 13:5f21dd134bd2 26 {
Cheroukee 13:5f21dd134bd2 27 pc.printf("Config file opened. \n\r");
JayMcGee 28:322985c7e428 28 fscanf(fp,"0x%x", &config.pan_id); // Lire le PanId
JayMcGee 28:322985c7e428 29 fscanf(fp,"%s", config.server_url); // Lire l'adresse URL
JayMcGee 28:322985c7e428 30 fclose(fp); // Fermer le fichier
JayMcGee 28:322985c7e428 31
JayMcGee 28:322985c7e428 32 // Afficher le contenue pour confirmation
Cheroukee 13:5f21dd134bd2 33 pc.printf("PanId : 0x%x value : %u\r\n", config.pan_id, config.pan_id); // Display PanId
Cheroukee 13:5f21dd134bd2 34 pc.printf("ServeurURL : %s\r\n",config.server_url); // Display URL
Cheroukee 13:5f21dd134bd2 35 }
Cheroukee 13:5f21dd134bd2 36 return config;
Cheroukee 13:5f21dd134bd2 37 }
Cheroukee 13:5f21dd134bd2 38
Cheroukee 13:5f21dd134bd2 39 router_config_t read_router_config()
Cheroukee 13:5f21dd134bd2 40 {
Cheroukee 13:5f21dd134bd2 41 router_config_t config;
Cheroukee 13:5f21dd134bd2 42
Cheroukee 13:5f21dd134bd2 43 Serial pc(USBTX, USBRX); // tx, rx
Cheroukee 13:5f21dd134bd2 44 FILE *fp = fopen("/local/config.txt", "r"); // Ouvrir config.txt pour lecture seulement
Cheroukee 13:5f21dd134bd2 45 pc.printf("Opening configuration file for the router\n\r");
JayMcGee 28:322985c7e428 46 if (fp == NULL) // Echec de l'ouverture de fichier
Cheroukee 13:5f21dd134bd2 47 {
Cheroukee 13:5f21dd134bd2 48 pc.printf("Failed to find configuration file. Setting default configuration\n\r");
Cheroukee 13:5f21dd134bd2 49
Cheroukee 13:5f21dd134bd2 50 config.refresh_freq = 0x1;
Cheroukee 13:5f21dd134bd2 51 config.pan_id = 0x1;
Cheroukee 13:5f21dd134bd2 52 }
JayMcGee 28:322985c7e428 53 else // Succes de l'ouverture du fichier
Cheroukee 13:5f21dd134bd2 54 {
Cheroukee 13:5f21dd134bd2 55 pc.printf("Config file opened. \n\r");
JayMcGee 28:322985c7e428 56 fscanf(fp,"0x%x", &config.pan_id); // Lire le PanId
JayMcGee 28:322985c7e428 57 fscanf(fp,"%u", &config.refresh_freq); // Lire la fréquence de rafraichissement
JayMcGee 28:322985c7e428 58 fclose(fp); // Fermer le fichier
JayMcGee 28:322985c7e428 59
JayMcGee 28:322985c7e428 60 // Afficher le contenue pour confirmation
Cheroukee 13:5f21dd134bd2 61 pc.printf("PanId : 0x%x value : %u\r\n", config.pan_id, config.pan_id); // Display PanId
Cheroukee 13:5f21dd134bd2 62 pc.printf("Sensor refresh rate : %u\r\n",config.refresh_freq); // Display URL
Cheroukee 13:5f21dd134bd2 63 }
Cheroukee 13:5f21dd134bd2 64 return config;
Cheroukee 13:5f21dd134bd2 65 }