v1.0
Dependencies: SDFileSystem mbed
WiFiTracker.cpp
- Committer:
- jehoon
- Date:
- 2016-05-09
- Revision:
- 0:0073c8def9f1
File content as of revision 0:0073c8def9f1:
#include "mbed.h" #include "WiFiTracker.h" WiFiTracker::WiFiTracker() : dbg(USBTX, USBRX), sd(PB_3, PB_2, PB_1, PB_0, "sd"), led(LED3) { buffer.init(128); printf("make wifi tracker!\n"); g_store_cnt = 0; mkdir("/sd/mydir", 0777); LedBlink(5, 20); } WiFiTracker::~WiFiTracker() { printf("destroy\n"); fclose(fp); } //uint8_t WiFiTracker::store_probe_request(WiFiProbe wp) //uint8_t WiFiTracker::store_probe_request(char c) uint8_t WiFiTracker::write_sdcard(char c) { dbg.printf("store\n"); return 0; } uint8_t WiFiTracker::write_sdcard(char* str, int len) { char temp_str[30] = {0,}; //dbg.printf("%s, (%d)", str, len); if(char_cnt(str,'/') && len == 30 ) { strncpy(temp_str, str, len); char_change(temp_str, '/', ','); dbg.printf("(%d), %s", len, temp_str); fprintf(fp, temp_str); g_store_cnt++; } if(g_store_cnt % 100 == 0) { dbg.printf("\r\n[100]\r\n"); fclose(fp); fp = fopen("/sd/mydir/wifi_tracker.txt", "a"); if(fp == NULL) { error("Could not open file for write\n"); } LedBlink(2,50); } //dbg.printf("\r\nwrite sd card\r\n"); return 0; } char WiFiTracker::read() { return (char)buffer.consumeByte(); } int WiFiTracker::write(char c) { //return buffer.addbyte((byte)c); return 0; } int WiFiTracker::find(char* str) { return buffer.findBuf(str); } int WiFiTracker::char_cnt(char* str, char c) { int i = 0; char* tmp = str; while( *tmp ) { if( *tmp++ == c ) i++; } return i; } int WiFiTracker::char_change(char* str, char dst_char, char new_char) { int i = 0; char* tmp = str; while( *tmp ) { if( *tmp == dst_char ) *tmp = new_char; tmp++; } return i; } void WiFiTracker::LedBlink(int cnt, int interval) { int i; for(i=0; i<cnt; i++) { led = 1; wait_ms(interval); led = 0; } } // //int8_t WiFiTracker::send_command(char* cmd) //{ // //} //int8_t WiFiTracker::wait_response(char* rsp) //{ //}