diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2022-06-28 16:03:26 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2022-06-28 16:03:26 +0200 |
commit | 264119822b44eaf8ec2d7c959fd863a74196d412 (patch) | |
tree | 7bf3b63a9e304fd54a3d35d35f9cc00b625900e2 /include | |
parent | 2a9250606e00c4729db79811e6c50f9ddeb29188 (diff) |
add TC299 mock arch
Diffstat (limited to 'include')
-rw-r--r-- | include/arch/infineon-tc299-mock/driver/counter.h | 31 | ||||
-rw-r--r-- | include/arch/infineon-tc299-mock/driver/gpio.h | 47 | ||||
-rw-r--r-- | include/arch/infineon-tc299-mock/driver/stdout.h | 24 | ||||
-rw-r--r-- | include/arch/infineon-tc299-mock/driver/uptime.h | 32 |
4 files changed, 134 insertions, 0 deletions
diff --git a/include/arch/infineon-tc299-mock/driver/counter.h b/include/arch/infineon-tc299-mock/driver/counter.h new file mode 100644 index 0000000..b7330db --- /dev/null +++ b/include/arch/infineon-tc299-mock/driver/counter.h @@ -0,0 +1,31 @@ +/* + * Copyright 2022 Daniel Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef COUNTER_H +#define COUNTER_H + +typedef unsigned int counter_value_t; +typedef unsigned int counter_overflow_t; + +class Counter { + private: + Counter(const Counter ©); + + public: + counter_value_t value; + volatile counter_overflow_t overflow; + + Counter() : overflow(0) {} + + inline void start() { + } + + inline void stop() { + } +}; + +extern Counter counter; + +#endif diff --git a/include/arch/infineon-tc299-mock/driver/gpio.h b/include/arch/infineon-tc299-mock/driver/gpio.h new file mode 100644 index 0000000..83689b6 --- /dev/null +++ b/include/arch/infineon-tc299-mock/driver/gpio.h @@ -0,0 +1,47 @@ +/* + * Copyright 2022 Daniel Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef GPIO_H +#define GPIO_H + +class GPIO { + private: + GPIO(const GPIO ©); + + public: + GPIO () {} + + enum Pin : unsigned char { + PIN_INVALID + }; + + inline void setup() { + } + inline void led_on(unsigned char id = 0) { + } + inline void led_off(unsigned char id = 0) { + } + inline void led_toggle(unsigned char id = 0) { + } + inline void input(unsigned char const pin) { + } + inline void input(unsigned char const pin, unsigned char const pull) { + } + inline void output(unsigned char const pin) { + } + inline void output(unsigned char const pin, unsigned char const value) { + } + inline unsigned char read(unsigned char const pin) { + return 0; + } + inline void write(unsigned char const pin, unsigned char value) { + } + inline void write_mask(unsigned char const pin_base, unsigned char set_mask, unsigned char clear_mask) { + } +}; + +extern GPIO gpio; + +#endif diff --git a/include/arch/infineon-tc299-mock/driver/stdout.h b/include/arch/infineon-tc299-mock/driver/stdout.h new file mode 100644 index 0000000..b701dc1 --- /dev/null +++ b/include/arch/infineon-tc299-mock/driver/stdout.h @@ -0,0 +1,24 @@ +/* + * Copyright 2022 Daniel Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef STANDARDOUTPUT_H +#define STANDARDOUTPUT_H + +#include "object/outputstream.h" + +class StandardOutput : public OutputStream { + private: + StandardOutput(const StandardOutput ©); + + public: + StandardOutput () {} + void setup(); + + virtual void put(char c) override; +}; + +extern StandardOutput kout; + +#endif diff --git a/include/arch/infineon-tc299-mock/driver/uptime.h b/include/arch/infineon-tc299-mock/driver/uptime.h new file mode 100644 index 0000000..6f52f8f --- /dev/null +++ b/include/arch/infineon-tc299-mock/driver/uptime.h @@ -0,0 +1,32 @@ +/* + * Copyright 2022 Daniel Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ +#ifndef UPTIME_H +#define UPTIME_H + +class Uptime { + private: + Uptime(const Uptime ©); +#ifdef TIMER_S + uint16_t seconds; +#endif + + public: +#ifdef TIMER_S + Uptime () : seconds(0) {} +#else + Uptime () {} +#endif + inline uint16_t get_us() { return 0; } + inline uint16_t get_cycles() { return 0; } +#ifdef TIMER_S + inline uint16_t get_s() { return seconds; } + inline void tick_s() { seconds++; } +#endif +}; + +extern Uptime uptime; + +#endif |