44 #include "contiki-net.h" 49 #include "dev/watchdog.h" 53 #include "services/rpl-border-router/rpl-border-router.h" 64 #define LOG_MODULE "Main" 65 #define LOG_LEVEL LOG_LEVEL_MAIN 68 #if PLATFORM_MAIN_ACCEPTS_ARGS 69 main(
int argc,
char **argv)
87 #if STACK_CHECK_ENABLED 99 LOG_INFO(
"Starting " CONTIKI_VERSION_STRING
"\n");
100 LOG_INFO(
"- Routing: %s\n", NETSTACK_ROUTING.name);
101 LOG_INFO(
"- Net: %s\n", NETSTACK_NETWORK.name);
102 LOG_INFO(
"- MAC: %s\n", NETSTACK_MAC.name);
103 LOG_INFO(
"- 802.15.4 PANID: 0x%04x\n", IEEE802154_PANID);
104 #if MAC_CONF_WITH_TSCH 105 LOG_INFO(
"- 802.15.4 TSCH default hopping sequence length: %u\n", (
unsigned)
sizeof(TSCH_DEFAULT_HOPPING_SEQUENCE));
110 LOG_INFO(
"Node ID: %u\n", node_id);
111 LOG_INFO(
"Link-layer address: ");
115 #if NETSTACK_CONF_WITH_IPV6 121 lladdr = uip_ds6_get_link_local(-1);
122 LOG_INFO(
"Tentative link-local IPv6 address: ");
123 LOG_INFO_6ADDR(lladdr != NULL ? &lladdr->ipaddr : NULL);
130 #if BUILD_WITH_RPL_BORDER_ROUTER 131 rpl_border_router_init();
132 LOG_DBG(
"With RPL Border Router\n");
135 #if BUILD_WITH_ORCHESTRA 137 LOG_DBG(
"With Orchestra\n");
142 LOG_DBG(
"With Shell\n");
147 LOG_DBG(
"With CoAP\n");
150 #if BUILD_WITH_SIMPLE_ENERGEST 154 #if BUILD_WITH_TSCH_CS 159 autostart_start(autostart_processes);
163 #if PLATFORM_PROVIDES_MAIN_LOOP uip_lladdr_t uip_lladdr
Host L2 address.
Header file for the energy estimation mechanism
void platform_main_loop()
The platform's main loop, if provided.
void platform_init_stage_two()
Stage 2 of platform driver initialisation.
CoAP engine implementation.
void platform_idle()
The platform's idle/sleep function.
void ctimer_init(void)
Initialize the callback timer library.
Node-id (simple 16-bit identifiers) handling.
A shell back-end for the serial port
void serial_shell_init(void)
Initializes Serial Shell module.
linkaddr_t linkaddr_node_addr
The link-layer address of the node.
void node_id_init(void)
Initialize the node ID.
#define IEEE802154_DEFAULT_CHANNEL
The default channel for IEEE 802.15.4 networks.
void process_init(void)
Initialize the process module.
void tsch_cs_adaptations_init(void)
Initializes the TSCH hopping sequence selection module.
void watchdog_start(void)
Starts the WDT in watchdog mode if enabled by user configuration, maximum interval.
A process that periodically prints out the time spent in radio tx, radio rx, total time and duty cycle.
Header file for the Packet queue buffer management
Unicast address structure.
void simple_energest_init(void)
Initialize the deployment module.
void stack_check_init(void)
Initialize the stack area with a known pattern.
void platform_init_stage_three()
Final stage of platform driver initialisation.
void watchdog_init(void)
Initialisation function for the WDT.
Stack checker library header file.
Header file for TSCH adaptive channel selection
void watchdog_periodic(void)
Writes the WDT clear sequence.
Header file for the logging system
void rtimer_init(void)
Initialize the real-time scheduler.
int process_run(void)
Run the system once - call poll handlers and process one event.
void clock_init(void)
Arch-specific implementation of clock_init for the cc2538.
void platform_init_stage_one(void)
Basic (Stage 1) platform driver initialisation.
void process_start(struct process *p, process_data_t data)
Start a process.