eth.attach() doesn`t work with threads without wait time
main.cpp@0:074e782ef127, 2018-05-25 (annotated)
- Committer:
- dimavb
- Date:
- Fri May 25 22:12:13 2018 +0000
- Revision:
- 0:074e782ef127
init;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dimavb | 0:074e782ef127 | 1 | |
| dimavb | 0:074e782ef127 | 2 | #include "EthernetInterface.h" |
| dimavb | 0:074e782ef127 | 3 | #include "mbed.h" |
| dimavb | 0:074e782ef127 | 4 | #include "nsapi_types.h" |
| dimavb | 0:074e782ef127 | 5 | |
| dimavb | 0:074e782ef127 | 6 | // Network interface |
| dimavb | 0:074e782ef127 | 7 | EthernetInterface eth; |
| dimavb | 0:074e782ef127 | 8 | |
| dimavb | 0:074e782ef127 | 9 | void status_callback(nsapi_event_t status, intptr_t param) |
| dimavb | 0:074e782ef127 | 10 | { |
| dimavb | 0:074e782ef127 | 11 | printf("Connection status changed!\r\n"); |
| dimavb | 0:074e782ef127 | 12 | switch(param) { |
| dimavb | 0:074e782ef127 | 13 | case NSAPI_STATUS_LOCAL_UP: |
| dimavb | 0:074e782ef127 | 14 | printf("Local IP address set!\r\n"); |
| dimavb | 0:074e782ef127 | 15 | break; |
| dimavb | 0:074e782ef127 | 16 | case NSAPI_STATUS_GLOBAL_UP: |
| dimavb | 0:074e782ef127 | 17 | printf("Global IP address set!\r\n"); |
| dimavb | 0:074e782ef127 | 18 | break; |
| dimavb | 0:074e782ef127 | 19 | case NSAPI_STATUS_DISCONNECTED: |
| dimavb | 0:074e782ef127 | 20 | printf("No connection to network!\r\n"); |
| dimavb | 0:074e782ef127 | 21 | break; |
| dimavb | 0:074e782ef127 | 22 | case NSAPI_STATUS_CONNECTING: |
| dimavb | 0:074e782ef127 | 23 | printf("Connecting to network!\r\n"); |
| dimavb | 0:074e782ef127 | 24 | break; |
| dimavb | 0:074e782ef127 | 25 | default: |
| dimavb | 0:074e782ef127 | 26 | printf("Not supported"); |
| dimavb | 0:074e782ef127 | 27 | break; |
| dimavb | 0:074e782ef127 | 28 | } |
| dimavb | 0:074e782ef127 | 29 | } |
| dimavb | 0:074e782ef127 | 30 | void onemorethread(void) |
| dimavb | 0:074e782ef127 | 31 | { |
| dimavb | 0:074e782ef127 | 32 | while (1) |
| dimavb | 0:074e782ef127 | 33 | { |
| dimavb | 0:074e782ef127 | 34 | // Thread::wait(10); |
| dimavb | 0:074e782ef127 | 35 | } |
| dimavb | 0:074e782ef127 | 36 | } |
| dimavb | 0:074e782ef127 | 37 | |
| dimavb | 0:074e782ef127 | 38 | int main() |
| dimavb | 0:074e782ef127 | 39 | { |
| dimavb | 0:074e782ef127 | 40 | printf("Connecting...\n"); |
| dimavb | 0:074e782ef127 | 41 | eth.attach(&status_callback); |
| dimavb | 0:074e782ef127 | 42 | eth.set_network("192.168.1.200","255.255.255.0","192.168.1.1"); |
| dimavb | 0:074e782ef127 | 43 | eth.connect(); |
| dimavb | 0:074e782ef127 | 44 | Thread onemore; |
| dimavb | 0:074e782ef127 | 45 | onemore.start(onemorethread); |
| dimavb | 0:074e782ef127 | 46 | while(1) |
| dimavb | 0:074e782ef127 | 47 | { |
| dimavb | 0:074e782ef127 | 48 | Thread::wait(10); |
| dimavb | 0:074e782ef127 | 49 | } |
| dimavb | 0:074e782ef127 | 50 | } |