Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: fsl_phy_mcr20a fsl_smac mbed-rtos mbed
Fork of mcr20_wireless_uart by
NSDL/nsdl_run.cpp@3:a38ad504a18c, 2015-03-05 (annotated)
- Committer:
- sam_grove
- Date:
- Thu Mar 05 16:37:54 2015 +0000
- Revision:
- 3:a38ad504a18c
- Parent:
- 2:3e7685cfb2a7
Delete multi use functions and update mbed library - exporters for IAR now working again
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sam_grove | 2:3e7685cfb2a7 | 1 | #include "mbed.h" |
sam_grove | 2:3e7685cfb2a7 | 2 | #include "nsdl_support.h" |
sam_grove | 2:3e7685cfb2a7 | 3 | #include "nsdl_dbg.h" |
sam_grove | 2:3e7685cfb2a7 | 4 | |
sam_grove | 2:3e7685cfb2a7 | 5 | #include "node_cfg.h" |
sam_grove | 2:3e7685cfb2a7 | 6 | |
sam_grove | 2:3e7685cfb2a7 | 7 | #include "rgb.h" |
sam_grove | 2:3e7685cfb2a7 | 8 | #include "battery.h" |
sam_grove | 2:3e7685cfb2a7 | 9 | |
sam_grove | 2:3e7685cfb2a7 | 10 | |
sam_grove | 2:3e7685cfb2a7 | 11 | // **************************************************************************** |
sam_grove | 2:3e7685cfb2a7 | 12 | // Configuration section |
sam_grove | 2:3e7685cfb2a7 | 13 | |
sam_grove | 2:3e7685cfb2a7 | 14 | // NSP configuration |
sam_grove | 2:3e7685cfb2a7 | 15 | /* Change this IP address to that of your NanoService Platform installation */ |
sam_grove | 2:3e7685cfb2a7 | 16 | uint8_t NSP_address_bytes[] = NSP_IP_ADDRESS; |
sam_grove | 2:3e7685cfb2a7 | 17 | |
sam_grove | 2:3e7685cfb2a7 | 18 | uint8_t endpoint_name[24] = NODE_NAME; |
sam_grove | 2:3e7685cfb2a7 | 19 | uint8_t ep_type[] = ENDPOINT_TYPE; |
sam_grove | 2:3e7685cfb2a7 | 20 | uint8_t lifetime_ptr[] = LIFE_TIME; |
sam_grove | 2:3e7685cfb2a7 | 21 | |
sam_grove | 2:3e7685cfb2a7 | 22 | // **************************************************************************** |
sam_grove | 2:3e7685cfb2a7 | 23 | // Resource creation |
sam_grove | 2:3e7685cfb2a7 | 24 | |
sam_grove | 2:3e7685cfb2a7 | 25 | static int create_resources() |
sam_grove | 2:3e7685cfb2a7 | 26 | { |
sam_grove | 2:3e7685cfb2a7 | 27 | sn_nsdl_resource_info_s *resource_ptr = NULL; |
sam_grove | 2:3e7685cfb2a7 | 28 | sn_nsdl_ep_parameters_s *endpoint_ptr = NULL; |
sam_grove | 2:3e7685cfb2a7 | 29 | |
sam_grove | 2:3e7685cfb2a7 | 30 | NSDL_DEBUG("Creating resources"); |
sam_grove | 2:3e7685cfb2a7 | 31 | |
sam_grove | 2:3e7685cfb2a7 | 32 | /* Create resources */ |
sam_grove | 2:3e7685cfb2a7 | 33 | resource_ptr = (sn_nsdl_resource_info_s*)nsdl_alloc(sizeof(sn_nsdl_resource_info_s)); |
sam_grove | 2:3e7685cfb2a7 | 34 | if(!resource_ptr) |
sam_grove | 2:3e7685cfb2a7 | 35 | return 0; |
sam_grove | 2:3e7685cfb2a7 | 36 | memset(resource_ptr, 0, sizeof(sn_nsdl_resource_info_s)); |
sam_grove | 2:3e7685cfb2a7 | 37 | |
sam_grove | 2:3e7685cfb2a7 | 38 | resource_ptr->resource_parameters_ptr = (sn_nsdl_resource_parameters_s*)nsdl_alloc(sizeof(sn_nsdl_resource_parameters_s)); |
sam_grove | 2:3e7685cfb2a7 | 39 | if(!resource_ptr->resource_parameters_ptr) |
sam_grove | 2:3e7685cfb2a7 | 40 | { |
sam_grove | 2:3e7685cfb2a7 | 41 | nsdl_free(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 42 | return 0; |
sam_grove | 2:3e7685cfb2a7 | 43 | } |
sam_grove | 2:3e7685cfb2a7 | 44 | memset(resource_ptr->resource_parameters_ptr, 0, sizeof(sn_nsdl_resource_parameters_s)); |
sam_grove | 2:3e7685cfb2a7 | 45 | |
sam_grove | 2:3e7685cfb2a7 | 46 | // Static resources |
sam_grove | 2:3e7685cfb2a7 | 47 | nsdl_create_static_resource(resource_ptr, sizeof("dev/mfg")-1, (uint8_t*) "dev/mfg", 0, 0, (uint8_t*) "ARM mbed", sizeof("ARM mbed")-1); |
sam_grove | 2:3e7685cfb2a7 | 48 | nsdl_create_static_resource(resource_ptr, sizeof("dev/mdl")-1, (uint8_t*) "dev/mdl", 0, 0, (uint8_t*) "6LoWPAN node", sizeof("6LoWPAN node")-1); |
sam_grove | 2:3e7685cfb2a7 | 49 | |
sam_grove | 2:3e7685cfb2a7 | 50 | // Dynamic resources |
sam_grove | 2:3e7685cfb2a7 | 51 | #if NODE_HOME |
sam_grove | 2:3e7685cfb2a7 | 52 | create_light_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 53 | create_HVAC_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 54 | create_door_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 55 | #endif |
sam_grove | 2:3e7685cfb2a7 | 56 | |
sam_grove | 2:3e7685cfb2a7 | 57 | #if NODE_SENSOR_STATION |
sam_grove | 2:3e7685cfb2a7 | 58 | create_pressure_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 59 | create_temperature_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 60 | create_moisture_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 61 | create_hcho_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 62 | create_UVsensor_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 63 | #endif |
sam_grove | 2:3e7685cfb2a7 | 64 | |
sam_grove | 2:3e7685cfb2a7 | 65 | #if NODE_CONTROLLER |
sam_grove | 2:3e7685cfb2a7 | 66 | create_rgbled_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 67 | #endif |
sam_grove | 2:3e7685cfb2a7 | 68 | |
sam_grove | 2:3e7685cfb2a7 | 69 | #if BATTERY |
sam_grove | 2:3e7685cfb2a7 | 70 | create_battery_resource(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 71 | #endif |
sam_grove | 2:3e7685cfb2a7 | 72 | |
sam_grove | 2:3e7685cfb2a7 | 73 | |
sam_grove | 2:3e7685cfb2a7 | 74 | /* Register with NSP */ |
sam_grove | 2:3e7685cfb2a7 | 75 | endpoint_ptr = nsdl_init_register_endpoint(endpoint_ptr, (uint8_t*)endpoint_name, ep_type, lifetime_ptr); |
sam_grove | 2:3e7685cfb2a7 | 76 | if(sn_nsdl_register_endpoint(endpoint_ptr) != 0) |
sam_grove | 2:3e7685cfb2a7 | 77 | printf("NSP registering failed\r\n"); |
sam_grove | 2:3e7685cfb2a7 | 78 | else |
sam_grove | 2:3e7685cfb2a7 | 79 | printf("NSP registering OK\r\n"); |
sam_grove | 2:3e7685cfb2a7 | 80 | nsdl_clean_register_endpoint(&endpoint_ptr); |
sam_grove | 2:3e7685cfb2a7 | 81 | |
sam_grove | 2:3e7685cfb2a7 | 82 | nsdl_free(resource_ptr->resource_parameters_ptr); |
sam_grove | 2:3e7685cfb2a7 | 83 | nsdl_free(resource_ptr); |
sam_grove | 2:3e7685cfb2a7 | 84 | return 1; |
sam_grove | 2:3e7685cfb2a7 | 85 | } |
sam_grove | 2:3e7685cfb2a7 | 86 | |
sam_grove | 2:3e7685cfb2a7 | 87 | // **************************************************************************** |
sam_grove | 2:3e7685cfb2a7 | 88 | // Program entry point |
sam_grove | 2:3e7685cfb2a7 | 89 | // this modified to startup as an option in the Wi-Go demo |
sam_grove | 2:3e7685cfb2a7 | 90 | |
sam_grove | 2:3e7685cfb2a7 | 91 | void nsdl_run() |
sam_grove | 2:3e7685cfb2a7 | 92 | { |
sam_grove | 2:3e7685cfb2a7 | 93 | |
sam_grove | 2:3e7685cfb2a7 | 94 | NSDL_DEBUG("ARM NSP Init\r\n"); |
sam_grove | 2:3e7685cfb2a7 | 95 | |
sam_grove | 2:3e7685cfb2a7 | 96 | // Initialize NSDL stack |
sam_grove | 2:3e7685cfb2a7 | 97 | nsdl_init(); |
sam_grove | 2:3e7685cfb2a7 | 98 | |
sam_grove | 2:3e7685cfb2a7 | 99 | // Create NSDL resources |
sam_grove | 2:3e7685cfb2a7 | 100 | create_resources(); |
sam_grove | 2:3e7685cfb2a7 | 101 | |
sam_grove | 2:3e7685cfb2a7 | 102 | } |
sam_grove | 2:3e7685cfb2a7 | 103 |