Code APP3
Dependencies: mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial
Fork of APP3_Lab by
parser.cpp@29:56b6c15904e6, 2017-10-02 (annotated)
- Committer:
- JayMcGee
- Date:
- Mon Oct 02 21:54:52 2017 +0000
- Revision:
- 29:56b6c15904e6
- Parent:
- 28:322985c7e428
Merge
Who changed what in which revision?
User | Revision | Line number | New 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 | } |