v1.0

Dependencies:   SDFileSystem mbed

Committer:
jehoon
Date:
Mon May 09 00:13:40 2016 +0000
Revision:
0:0073c8def9f1
WiFi Tracker

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jehoon 0:0073c8def9f1 1 #include "mbed.h"
jehoon 0:0073c8def9f1 2 #include "WiFiTracker.h"
jehoon 0:0073c8def9f1 3
jehoon 0:0073c8def9f1 4
jehoon 0:0073c8def9f1 5
jehoon 0:0073c8def9f1 6 WiFiTracker::WiFiTracker() : dbg(USBTX, USBRX), sd(PB_3, PB_2, PB_1, PB_0, "sd"), led(LED3)
jehoon 0:0073c8def9f1 7 {
jehoon 0:0073c8def9f1 8
jehoon 0:0073c8def9f1 9 buffer.init(128);
jehoon 0:0073c8def9f1 10 printf("make wifi tracker!\n");
jehoon 0:0073c8def9f1 11 g_store_cnt = 0;
jehoon 0:0073c8def9f1 12 mkdir("/sd/mydir", 0777);
jehoon 0:0073c8def9f1 13
jehoon 0:0073c8def9f1 14 LedBlink(5, 20);
jehoon 0:0073c8def9f1 15
jehoon 0:0073c8def9f1 16 }
jehoon 0:0073c8def9f1 17
jehoon 0:0073c8def9f1 18
jehoon 0:0073c8def9f1 19 WiFiTracker::~WiFiTracker()
jehoon 0:0073c8def9f1 20 {
jehoon 0:0073c8def9f1 21 printf("destroy\n");
jehoon 0:0073c8def9f1 22 fclose(fp);
jehoon 0:0073c8def9f1 23 }
jehoon 0:0073c8def9f1 24
jehoon 0:0073c8def9f1 25
jehoon 0:0073c8def9f1 26 //uint8_t WiFiTracker::store_probe_request(WiFiProbe wp)
jehoon 0:0073c8def9f1 27 //uint8_t WiFiTracker::store_probe_request(char c)
jehoon 0:0073c8def9f1 28 uint8_t WiFiTracker::write_sdcard(char c)
jehoon 0:0073c8def9f1 29 {
jehoon 0:0073c8def9f1 30 dbg.printf("store\n");
jehoon 0:0073c8def9f1 31
jehoon 0:0073c8def9f1 32 return 0;
jehoon 0:0073c8def9f1 33 }
jehoon 0:0073c8def9f1 34
jehoon 0:0073c8def9f1 35 uint8_t WiFiTracker::write_sdcard(char* str, int len)
jehoon 0:0073c8def9f1 36 {
jehoon 0:0073c8def9f1 37 char temp_str[30] = {0,};
jehoon 0:0073c8def9f1 38
jehoon 0:0073c8def9f1 39 //dbg.printf("%s, (%d)", str, len);
jehoon 0:0073c8def9f1 40
jehoon 0:0073c8def9f1 41 if(char_cnt(str,'/') && len == 30 )
jehoon 0:0073c8def9f1 42 {
jehoon 0:0073c8def9f1 43 strncpy(temp_str, str, len);
jehoon 0:0073c8def9f1 44 char_change(temp_str, '/', ',');
jehoon 0:0073c8def9f1 45 dbg.printf("(%d), %s", len, temp_str);
jehoon 0:0073c8def9f1 46 fprintf(fp, temp_str);
jehoon 0:0073c8def9f1 47 g_store_cnt++;
jehoon 0:0073c8def9f1 48 }
jehoon 0:0073c8def9f1 49
jehoon 0:0073c8def9f1 50
jehoon 0:0073c8def9f1 51 if(g_store_cnt % 100 == 0)
jehoon 0:0073c8def9f1 52 {
jehoon 0:0073c8def9f1 53 dbg.printf("\r\n[100]\r\n");
jehoon 0:0073c8def9f1 54 fclose(fp);
jehoon 0:0073c8def9f1 55
jehoon 0:0073c8def9f1 56 fp = fopen("/sd/mydir/wifi_tracker.txt", "a");
jehoon 0:0073c8def9f1 57 if(fp == NULL) {
jehoon 0:0073c8def9f1 58 error("Could not open file for write\n");
jehoon 0:0073c8def9f1 59 }
jehoon 0:0073c8def9f1 60
jehoon 0:0073c8def9f1 61 LedBlink(2,50);
jehoon 0:0073c8def9f1 62 }
jehoon 0:0073c8def9f1 63
jehoon 0:0073c8def9f1 64 //dbg.printf("\r\nwrite sd card\r\n");
jehoon 0:0073c8def9f1 65 return 0;
jehoon 0:0073c8def9f1 66 }
jehoon 0:0073c8def9f1 67
jehoon 0:0073c8def9f1 68 char WiFiTracker::read()
jehoon 0:0073c8def9f1 69 {
jehoon 0:0073c8def9f1 70 return (char)buffer.consumeByte();
jehoon 0:0073c8def9f1 71 }
jehoon 0:0073c8def9f1 72
jehoon 0:0073c8def9f1 73 int WiFiTracker::write(char c)
jehoon 0:0073c8def9f1 74 {
jehoon 0:0073c8def9f1 75 //return buffer.addbyte((byte)c);
jehoon 0:0073c8def9f1 76 return 0;
jehoon 0:0073c8def9f1 77
jehoon 0:0073c8def9f1 78 }
jehoon 0:0073c8def9f1 79
jehoon 0:0073c8def9f1 80 int WiFiTracker::find(char* str)
jehoon 0:0073c8def9f1 81 {
jehoon 0:0073c8def9f1 82 return buffer.findBuf(str);
jehoon 0:0073c8def9f1 83
jehoon 0:0073c8def9f1 84 }
jehoon 0:0073c8def9f1 85
jehoon 0:0073c8def9f1 86
jehoon 0:0073c8def9f1 87
jehoon 0:0073c8def9f1 88 int WiFiTracker::char_cnt(char* str, char c)
jehoon 0:0073c8def9f1 89 {
jehoon 0:0073c8def9f1 90 int i = 0;
jehoon 0:0073c8def9f1 91 char* tmp = str;
jehoon 0:0073c8def9f1 92
jehoon 0:0073c8def9f1 93 while( *tmp )
jehoon 0:0073c8def9f1 94 {
jehoon 0:0073c8def9f1 95 if( *tmp++ == c )
jehoon 0:0073c8def9f1 96 i++;
jehoon 0:0073c8def9f1 97 }
jehoon 0:0073c8def9f1 98
jehoon 0:0073c8def9f1 99 return i;
jehoon 0:0073c8def9f1 100 }
jehoon 0:0073c8def9f1 101
jehoon 0:0073c8def9f1 102
jehoon 0:0073c8def9f1 103 int WiFiTracker::char_change(char* str, char dst_char, char new_char)
jehoon 0:0073c8def9f1 104 {
jehoon 0:0073c8def9f1 105 int i = 0;
jehoon 0:0073c8def9f1 106 char* tmp = str;
jehoon 0:0073c8def9f1 107
jehoon 0:0073c8def9f1 108 while( *tmp )
jehoon 0:0073c8def9f1 109 {
jehoon 0:0073c8def9f1 110 if( *tmp == dst_char )
jehoon 0:0073c8def9f1 111 *tmp = new_char;
jehoon 0:0073c8def9f1 112 tmp++;
jehoon 0:0073c8def9f1 113 }
jehoon 0:0073c8def9f1 114
jehoon 0:0073c8def9f1 115 return i;
jehoon 0:0073c8def9f1 116
jehoon 0:0073c8def9f1 117 }
jehoon 0:0073c8def9f1 118
jehoon 0:0073c8def9f1 119 void WiFiTracker::LedBlink(int cnt, int interval)
jehoon 0:0073c8def9f1 120 {
jehoon 0:0073c8def9f1 121 int i;
jehoon 0:0073c8def9f1 122
jehoon 0:0073c8def9f1 123 for(i=0; i<cnt; i++)
jehoon 0:0073c8def9f1 124 {
jehoon 0:0073c8def9f1 125 led = 1;
jehoon 0:0073c8def9f1 126 wait_ms(interval);
jehoon 0:0073c8def9f1 127 led = 0;
jehoon 0:0073c8def9f1 128 }
jehoon 0:0073c8def9f1 129 }
jehoon 0:0073c8def9f1 130
jehoon 0:0073c8def9f1 131 //
jehoon 0:0073c8def9f1 132 //int8_t WiFiTracker::send_command(char* cmd)
jehoon 0:0073c8def9f1 133 //{
jehoon 0:0073c8def9f1 134 //
jehoon 0:0073c8def9f1 135 //}
jehoon 0:0073c8def9f1 136 //int8_t WiFiTracker::wait_response(char* rsp)
jehoon 0:0073c8def9f1 137 //{
jehoon 0:0073c8def9f1 138 //}
jehoon 0:0073c8def9f1 139
jehoon 0:0073c8def9f1 140
jehoon 0:0073c8def9f1 141