diff --git a/libraries/AP_HAL_Empty/AP_HAL_Empty_Namespace.h b/libraries/AP_HAL_Empty/AP_HAL_Empty_Namespace.h index f957677f8b..2fc1dcb385 100644 --- a/libraries/AP_HAL_Empty/AP_HAL_Empty_Namespace.h +++ b/libraries/AP_HAL_Empty/AP_HAL_Empty_Namespace.h @@ -22,6 +22,7 @@ namespace Empty { class EmptyRCOutput; class EmptySemaphore; class EmptyScheduler; + class EmptyUtil; class EmptyPrivateMember; } diff --git a/libraries/AP_HAL_Empty/AP_HAL_Empty_Private.h b/libraries/AP_HAL_Empty/AP_HAL_Empty_Private.h index b5ca6f7548..9f6283346e 100644 --- a/libraries/AP_HAL_Empty/AP_HAL_Empty_Private.h +++ b/libraries/AP_HAL_Empty/AP_HAL_Empty_Private.h @@ -17,6 +17,7 @@ #include "RCOutput.h" #include "Semaphore.h" #include "Scheduler.h" +#include "Util.h" #include "PrivateMember.h" #endif // __AP_HAL_EMPTY_PRIVATE_H__ diff --git a/libraries/AP_HAL_Empty/HAL_Empty_Class.cpp b/libraries/AP_HAL_Empty/HAL_Empty_Class.cpp index bda251e4a0..ce41e7015d 100644 --- a/libraries/AP_HAL_Empty/HAL_Empty_Class.cpp +++ b/libraries/AP_HAL_Empty/HAL_Empty_Class.cpp @@ -18,6 +18,7 @@ static EmptyGPIO gpioDriver; static EmptyRCInput rcinDriver; static EmptyRCOutput rcoutDriver; static EmptyScheduler schedulerInstance; +static EmptyUtil utilInstance; HAL_Empty::HAL_Empty() : AP_HAL::HAL( @@ -32,7 +33,8 @@ HAL_Empty::HAL_Empty() : &gpioDriver, &rcinDriver, &rcoutDriver, - &schedulerInstance), + &schedulerInstance, + &utilInstance), _member(new EmptyPrivateMember(123)) {} diff --git a/libraries/AP_HAL_Empty/Util.cpp b/libraries/AP_HAL_Empty/Util.cpp new file mode 100644 index 0000000000..1dcbb9b318 --- /dev/null +++ b/libraries/AP_HAL_Empty/Util.cpp @@ -0,0 +1,35 @@ + +#include "Util.h" +using namespace Empty; + +int EmptyUtil::snprintf(char* str, size_t size, const char *format, ...) +{ + va_list ap; + va_start(ap, format); + int res = this->vsnprintf(str, size, format, ap); + va_end(ap); + return res; +} + +int EmptyUtil::snprintf_P(char* str, size_t size, const prog_char_t *format, ...) +{ + va_list ap; + va_start(ap, format); + int res = this->vsnprintf_P(str, size, format, ap); + va_end(ap); + return res; +} + + +int EmptyUtil::vsnprintf(char* str, size_t size, const char *format, va_list ap) +{ + return 0; +} + +int EmptyUtil::vsnprintf_P(char* str, size_t size, const prog_char_t *format, + va_list ap) +{ + return 0; +} + + diff --git a/libraries/AP_HAL_Empty/Util.h b/libraries/AP_HAL_Empty/Util.h new file mode 100644 index 0000000000..3968ef384d --- /dev/null +++ b/libraries/AP_HAL_Empty/Util.h @@ -0,0 +1,17 @@ + +#ifndef __AP_HAL_EMPTY_UTIL_H__ +#define __AP_HAL_EMPTY_UTIL_H__ + +#include +#include "AP_HAL_Empty_Namespace.h" + +class Empty::EmptyUtil : public AP_HAL::Util { +public: + int snprintf(char* str, size_t size, const char *format, ...); + int snprintf_P(char* str, size_t size, const prog_char_t *format, ...); + int vsnprintf(char* str, size_t size, const char *format, va_list ap); + int vsnprintf_P(char* str, size_t size, const prog_char_t *format, + va_list ap); +}; + +#endif // __AP_HAL_EMPTY_UTIL_H__