An application to log WiFi SSIDs for position lookup testing
Dependencies: C027_Support SWO mbed-rtos mbed picojson
Fork of lpc4088_ebb_ublox_Cellular_PubNubDemo_rtos by
MbedAgent.cpp@1:cac9b2960637, 2015-02-15 (annotated)
- Committer:
- rosterloh84
- Date:
- Sun Feb 15 22:04:12 2015 +0000
- Revision:
- 1:cac9b2960637
First working version. Lots to do still.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
rosterloh84 | 1:cac9b2960637 | 1 | #include "MbedAgent.h" |
rosterloh84 | 1:cac9b2960637 | 2 | #include "rtos.h" |
rosterloh84 | 1:cac9b2960637 | 3 | |
rosterloh84 | 1:cac9b2960637 | 4 | MbedAgent::MbedAgent(DeviceIO& io, MDMSerial& mdm, DeviceInfo& deviceInfo, DeviceMemory& deviceMemory) : |
rosterloh84 | 1:cac9b2960637 | 5 | _io(io), |
rosterloh84 | 1:cac9b2960637 | 6 | _mdm(mdm), |
rosterloh84 | 1:cac9b2960637 | 7 | _deviceInfo(deviceInfo), |
rosterloh84 | 1:cac9b2960637 | 8 | _deviceMemory(deviceMemory), |
rosterloh84 | 1:cac9b2960637 | 9 | _configurationProperties(_deviceConfiguration), |
rosterloh84 | 1:cac9b2960637 | 10 | _signalQualityMeasurement(_deviceInfo), |
rosterloh84 | 1:cac9b2960637 | 11 | _analogMeasurement(_io.analog1(), _io.analog2()), |
rosterloh84 | 1:cac9b2960637 | 12 | _locationUpdate(_io.gpsTracker()) |
rosterloh84 | 1:cac9b2960637 | 13 | { |
rosterloh84 | 1:cac9b2960637 | 14 | } |
rosterloh84 | 1:cac9b2960637 | 15 | |
rosterloh84 | 1:cac9b2960637 | 16 | bool MbedAgent::init() |
rosterloh84 | 1:cac9b2960637 | 17 | { |
rosterloh84 | 1:cac9b2960637 | 18 | if ((!_signalQualityMeasurement.init()) || |
rosterloh84 | 1:cac9b2960637 | 19 | (!_analogMeasurement.init()) || |
rosterloh84 | 1:cac9b2960637 | 20 | (!_locationUpdate.init())) { |
rosterloh84 | 1:cac9b2960637 | 21 | puts("Initialization failed."); |
rosterloh84 | 1:cac9b2960637 | 22 | return false; |
rosterloh84 | 1:cac9b2960637 | 23 | } |
rosterloh84 | 1:cac9b2960637 | 24 | return true; |
rosterloh84 | 1:cac9b2960637 | 25 | } |
rosterloh84 | 1:cac9b2960637 | 26 | |
rosterloh84 | 1:cac9b2960637 | 27 | bool MbedAgent::run() |
rosterloh84 | 1:cac9b2960637 | 28 | { |
rosterloh84 | 1:cac9b2960637 | 29 | // add some config setup if needed |
rosterloh84 | 1:cac9b2960637 | 30 | |
rosterloh84 | 1:cac9b2960637 | 31 | loop(); |
rosterloh84 | 1:cac9b2960637 | 32 | |
rosterloh84 | 1:cac9b2960637 | 33 | return true; |
rosterloh84 | 1:cac9b2960637 | 34 | } |
rosterloh84 | 1:cac9b2960637 | 35 | |
rosterloh84 | 1:cac9b2960637 | 36 | void MbedAgent::loop() |
rosterloh84 | 1:cac9b2960637 | 37 | { |
rosterloh84 | 1:cac9b2960637 | 38 | Timer timer; int interval; |
rosterloh84 | 1:cac9b2960637 | 39 | |
rosterloh84 | 1:cac9b2960637 | 40 | timer.start(); |
rosterloh84 | 1:cac9b2960637 | 41 | while (true) { |
rosterloh84 | 1:cac9b2960637 | 42 | timer.reset(); |
rosterloh84 | 1:cac9b2960637 | 43 | |
rosterloh84 | 1:cac9b2960637 | 44 | _signalQualityMeasurement.run(); |
rosterloh84 | 1:cac9b2960637 | 45 | _analogMeasurement.run(); |
rosterloh84 | 1:cac9b2960637 | 46 | _locationUpdate.run(); |
rosterloh84 | 1:cac9b2960637 | 47 | |
rosterloh84 | 1:cac9b2960637 | 48 | if ((interval = _configurationProperties.readInterval()) == 0) |
rosterloh84 | 1:cac9b2960637 | 49 | break; |
rosterloh84 | 1:cac9b2960637 | 50 | |
rosterloh84 | 1:cac9b2960637 | 51 | while (timer.read() < interval) { |
rosterloh84 | 1:cac9b2960637 | 52 | Thread::yield(); |
rosterloh84 | 1:cac9b2960637 | 53 | } |
rosterloh84 | 1:cac9b2960637 | 54 | } |
rosterloh84 | 1:cac9b2960637 | 55 | } |