Example node for Yodiwo's Plegma API
Dependencies: EthernetInterface FXOS8700Q HTTPClient HTTPD MQTTS SDFileSystem YodiwoPlegma mbed-rpc mbed-rtos mbed wolfSSL
system.h@8:66d34592c1ad, 2015-09-28 (annotated)
- Committer:
- mitsarionas
- Date:
- Mon Sep 28 09:13:43 2015 +0000
- Revision:
- 8:66d34592c1ad
- Parent:
- 5:1ef168357347
using published HTTPClient
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mitsarionas | 5:1ef168357347 | 1 | #ifndef SYSTEM_H_ |
mitsarionas | 5:1ef168357347 | 2 | #define SYSTEM_H_ |
mitsarionas | 5:1ef168357347 | 3 | |
mitsarionas | 5:1ef168357347 | 4 | |
mitsarionas | 5:1ef168357347 | 5 | #ifdef __cplusplus |
mitsarionas | 5:1ef168357347 | 6 | extern "C" { |
mitsarionas | 5:1ef168357347 | 7 | #endif |
mitsarionas | 5:1ef168357347 | 8 | |
mitsarionas | 5:1ef168357347 | 9 | typedef void * (*thread_func)(void *); |
mitsarionas | 5:1ef168357347 | 10 | |
mitsarionas | 5:1ef168357347 | 11 | |
mitsarionas | 5:1ef168357347 | 12 | #ifdef linux |
mitsarionas | 5:1ef168357347 | 13 | |
mitsarionas | 5:1ef168357347 | 14 | #include <pthread.h> |
mitsarionas | 5:1ef168357347 | 15 | typedef pthread_t thread_t; |
mitsarionas | 5:1ef168357347 | 16 | |
mitsarionas | 5:1ef168357347 | 17 | #elif defined(__MBED__) |
mitsarionas | 5:1ef168357347 | 18 | |
mitsarionas | 5:1ef168357347 | 19 | |
mitsarionas | 5:1ef168357347 | 20 | // |
mitsarionas | 5:1ef168357347 | 21 | //#ifdef __cplusplus |
mitsarionas | 5:1ef168357347 | 22 | //#include "rtos.h" |
mitsarionas | 5:1ef168357347 | 23 | //#else |
mitsarionas | 5:1ef168357347 | 24 | //struct Thread; |
mitsarionas | 5:1ef168357347 | 25 | //#endif |
mitsarionas | 5:1ef168357347 | 26 | // |
mitsarionas | 5:1ef168357347 | 27 | ////#include "mbed.h" |
mitsarionas | 5:1ef168357347 | 28 | ////struct thread_s; |
mitsarionas | 5:1ef168357347 | 29 | typedef struct thread_info_s* thread_t; |
mitsarionas | 5:1ef168357347 | 30 | #endif |
mitsarionas | 5:1ef168357347 | 31 | |
mitsarionas | 5:1ef168357347 | 32 | |
mitsarionas | 5:1ef168357347 | 33 | /* |
mitsarionas | 5:1ef168357347 | 34 | * These functions must be implemented for the node platform |
mitsarionas | 5:1ef168357347 | 35 | * for linux, thread_* functions are wrappers for pthead functions |
mitsarionas | 5:1ef168357347 | 36 | * and http_post uses curl to do an http post and return the response code and body to the caller |
mitsarionas | 5:1ef168357347 | 37 | * implementation is in system_linux.c |
mitsarionas | 5:1ef168357347 | 38 | */ |
mitsarionas | 5:1ef168357347 | 39 | |
mitsarionas | 5:1ef168357347 | 40 | int thread_run(thread_t *ctx, thread_func func, void * args, int priority, int stack_size); |
mitsarionas | 5:1ef168357347 | 41 | void thread_wait(int ms); |
mitsarionas | 5:1ef168357347 | 42 | void *thread_join(thread_t *ctx); |
mitsarionas | 5:1ef168357347 | 43 | |
mitsarionas | 5:1ef168357347 | 44 | int http_post(char *url, char *post_fields, char *response, size_t max_size); |
mitsarionas | 5:1ef168357347 | 45 | |
mitsarionas | 5:1ef168357347 | 46 | |
mitsarionas | 5:1ef168357347 | 47 | #ifdef __cplusplus |
mitsarionas | 5:1ef168357347 | 48 | } |
mitsarionas | 5:1ef168357347 | 49 | #endif |
mitsarionas | 5:1ef168357347 | 50 | |
mitsarionas | 5:1ef168357347 | 51 | #endif /* SYSTEM_H_ */ |
mitsarionas | 5:1ef168357347 | 52 |