forked from Imagelibrary/rtems
score: Add WATCHDOG_INITIALIZER()
This commit is contained in:
@@ -39,6 +39,19 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
#define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff)
|
#define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Watchdog initializer for static initialization.
|
||||||
|
*
|
||||||
|
* @see _Watchdog_Initialize().
|
||||||
|
*/
|
||||||
|
#define WATCHDOG_INITIALIZER( routine, id, user_data ) \
|
||||||
|
{ \
|
||||||
|
{ NULL, NULL }, \
|
||||||
|
WATCHDOG_INACTIVE, \
|
||||||
|
0, 0, 0, 0, \
|
||||||
|
( routine ), ( id ), ( user_data ) \
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief the manner in which a watchdog chain may
|
* @brief the manner in which a watchdog chain may
|
||||||
* be adjusted by the @ref _Watchdog_Adjust routine.
|
* be adjusted by the @ref _Watchdog_Adjust routine.
|
||||||
|
|||||||
@@ -24,6 +24,27 @@
|
|||||||
|
|
||||||
#include <rtems/score/watchdogimpl.h>
|
#include <rtems/score/watchdogimpl.h>
|
||||||
|
|
||||||
|
static void test_watchdog_routine( Objects_Id id, void *arg )
|
||||||
|
{
|
||||||
|
(void) id;
|
||||||
|
(void) arg;
|
||||||
|
|
||||||
|
rtems_test_assert( 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_watchdog_static_init( void )
|
||||||
|
{
|
||||||
|
Objects_Id id = 0x12345678;
|
||||||
|
void *arg = (void *) 0xdeadbeef;
|
||||||
|
Watchdog_Control a = WATCHDOG_INITIALIZER( test_watchdog_routine, id, arg );
|
||||||
|
Watchdog_Control b;
|
||||||
|
|
||||||
|
memset( &b, 0, sizeof( b ) );
|
||||||
|
_Watchdog_Initialize( &b, test_watchdog_routine, id, arg );
|
||||||
|
|
||||||
|
rtems_test_assert( memcmp( &a, &b, sizeof( a ) ) == 0 );
|
||||||
|
}
|
||||||
|
|
||||||
rtems_task Init(
|
rtems_task Init(
|
||||||
rtems_task_argument argument
|
rtems_task_argument argument
|
||||||
)
|
)
|
||||||
@@ -35,6 +56,9 @@ rtems_task Init(
|
|||||||
puts( "\n*** RTEMS WATCHDOG ***" );
|
puts( "\n*** RTEMS WATCHDOG ***" );
|
||||||
|
|
||||||
puts( "INIT - report on empty watchdog chain" );
|
puts( "INIT - report on empty watchdog chain" );
|
||||||
|
|
||||||
|
test_watchdog_static_init();
|
||||||
|
|
||||||
_Chain_Initialize_empty( &empty );
|
_Chain_Initialize_empty( &empty );
|
||||||
_Watchdog_Report_chain( "Empty Chain", &empty );
|
_Watchdog_Report_chain( "Empty Chain", &empty );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user