Host library for controlling a WiConnect enabled Wi-Fi module.
Dependents: wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more
sdk/mbed/TimeoutTimer.cpp@1:6ec9998427ad, 2014-08-11 (annotated)
- Committer:
- dan_ackme
- Date:
- Mon Aug 11 03:29:30 2014 -0700
- Revision:
- 1:6ec9998427ad
- Parent:
- 0:ea85c4bb5e1f
- Child:
- 16:7f1d6d359787
fixed compiler warnings
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dan_ackme | 0:ea85c4bb5e1f | 1 | /* |
dan_ackme | 0:ea85c4bb5e1f | 2 | * Copyright 2014, ACKme Networks |
dan_ackme | 0:ea85c4bb5e1f | 3 | * All Rights Reserved. |
dan_ackme | 0:ea85c4bb5e1f | 4 | * |
dan_ackme | 0:ea85c4bb5e1f | 5 | * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks; |
dan_ackme | 0:ea85c4bb5e1f | 6 | * the contents of this file may not be disclosed to third parties, copied |
dan_ackme | 0:ea85c4bb5e1f | 7 | * or duplicated in any form, in whole or in part, without the prior |
dan_ackme | 0:ea85c4bb5e1f | 8 | * written permission of ACKme Networks. |
dan_ackme | 0:ea85c4bb5e1f | 9 | */ |
dan_ackme | 0:ea85c4bb5e1f | 10 | |
dan_ackme | 0:ea85c4bb5e1f | 11 | |
dan_ackme | 0:ea85c4bb5e1f | 12 | #include "Wiconnect.h" |
dan_ackme | 0:ea85c4bb5e1f | 13 | #include "us_ticker_api.h" |
dan_ackme | 0:ea85c4bb5e1f | 14 | |
dan_ackme | 0:ea85c4bb5e1f | 15 | /*************************************************************************************************/ |
dan_ackme | 0:ea85c4bb5e1f | 16 | TimeoutTimer::TimeoutTimer() |
dan_ackme | 0:ea85c4bb5e1f | 17 | { |
dan_ackme | 0:ea85c4bb5e1f | 18 | _start = 0; |
dan_ackme | 0:ea85c4bb5e1f | 19 | us_ticker_init(); |
dan_ackme | 0:ea85c4bb5e1f | 20 | } |
dan_ackme | 0:ea85c4bb5e1f | 21 | |
dan_ackme | 0:ea85c4bb5e1f | 22 | /*************************************************************************************************/ |
dan_ackme | 0:ea85c4bb5e1f | 23 | void TimeoutTimer::reset(void) |
dan_ackme | 0:ea85c4bb5e1f | 24 | { |
dan_ackme | 0:ea85c4bb5e1f | 25 | _start = us_ticker_read(); |
dan_ackme | 0:ea85c4bb5e1f | 26 | } |
dan_ackme | 0:ea85c4bb5e1f | 27 | |
dan_ackme | 0:ea85c4bb5e1f | 28 | /*************************************************************************************************/ |
dan_ackme | 0:ea85c4bb5e1f | 29 | uint32_t TimeoutTimer::remainingMs(uint32_t timeoutMs) |
dan_ackme | 0:ea85c4bb5e1f | 30 | { |
dan_ackme | 0:ea85c4bb5e1f | 31 | const uint32_t diff = readUs() / 1000; |
dan_ackme | 0:ea85c4bb5e1f | 32 | return (timeoutMs > diff) ? timeoutMs - diff : 0; |
dan_ackme | 0:ea85c4bb5e1f | 33 | } |
dan_ackme | 0:ea85c4bb5e1f | 34 | |
dan_ackme | 0:ea85c4bb5e1f | 35 | /*************************************************************************************************/ |
dan_ackme | 0:ea85c4bb5e1f | 36 | uint32_t TimeoutTimer::readUs() |
dan_ackme | 0:ea85c4bb5e1f | 37 | { |
dan_ackme | 0:ea85c4bb5e1f | 38 | return us_ticker_read() - _start; |
dan_ackme | 0:ea85c4bb5e1f | 39 | } |
dan_ackme | 0:ea85c4bb5e1f | 40 | |
dan_ackme | 0:ea85c4bb5e1f | 41 | /*************************************************************************************************/ |
dan_ackme | 0:ea85c4bb5e1f | 42 | bool TimeoutTimer::timedOut(uint32_t timeoutMs) |
dan_ackme | 0:ea85c4bb5e1f | 43 | { |
dan_ackme | 0:ea85c4bb5e1f | 44 | timeoutMs *= 1000; |
dan_ackme | 0:ea85c4bb5e1f | 45 | return (timeoutMs <= readUs()); |
dan_ackme | 0:ea85c4bb5e1f | 46 | } |