Allow the platform to provide its own main loop
This commit is contained in:
parent
543f5ff1cd
commit
d776ba035b
|
@ -104,6 +104,9 @@ main(void)
|
||||||
|
|
||||||
watchdog_start();
|
watchdog_start();
|
||||||
|
|
||||||
|
#if PLATFORM_PROVIDES_MAIN_LOOP
|
||||||
|
platform_main_loop();
|
||||||
|
#else
|
||||||
while(1) {
|
while(1) {
|
||||||
uint8_t r;
|
uint8_t r;
|
||||||
do {
|
do {
|
||||||
|
@ -113,6 +116,7 @@ main(void)
|
||||||
|
|
||||||
platform_idle();
|
platform_idle();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -86,6 +86,18 @@
|
||||||
#define PLATFORM_STARTUP_VERBOSE 1
|
#define PLATFORM_STARTUP_VERBOSE 1
|
||||||
#endif
|
#endif
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* Controls whether the platform provides a custom main loop
|
||||||
|
*
|
||||||
|
* By default we will use the main loop provided here. This however does not
|
||||||
|
* work for some platforms, so we allow them to override it.
|
||||||
|
*/
|
||||||
|
#ifdef PLATFORM_CONF_PROVIDES_MAIN_LOOP
|
||||||
|
#define PLATFORM_PROVIDES_MAIN_LOOP PLATFORM_CONF_PROVIDES_MAIN_LOOP
|
||||||
|
#else
|
||||||
|
#define PLATFORM_PROVIDES_MAIN_LOOP 0
|
||||||
|
#endif
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
* \brief Basic (Stage 1) platform driver initialisation.
|
* \brief Basic (Stage 1) platform driver initialisation.
|
||||||
*
|
*
|
||||||
|
@ -167,6 +179,17 @@ void platform_init_stage_three(void);
|
||||||
*/
|
*/
|
||||||
void platform_idle(void);
|
void platform_idle(void);
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief The platform's main loop, if provided
|
||||||
|
*
|
||||||
|
* If the platform developer wishes to do so, it is possible to override the
|
||||||
|
* main loop provided by Contiki-NG's core. To do so, define
|
||||||
|
* PLATFORM_CONF_PROVIDES_MAIN_LOOP as 1.
|
||||||
|
*
|
||||||
|
* It is the port developer's responsibility to implement this function.
|
||||||
|
*/
|
||||||
|
void platform_main_loop(void);
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
#endif /* PLATFORM_H_ */
|
#endif /* PLATFORM_H_ */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue