Debinix Team Library Mock
Project development in parallel for hardware and software teams.
Mock.h
Go to the documentation of this file.
1 
10 #ifndef MOCK_H_
11 #define MOCK_H_
12 
13 #ifndef ARDUINO
14 #include <cstdint>
15 #include <iostream>
16 #include <thread>
17 #endif
18 
25 namespace mock {
26 
27 //-------------------------------------------------------------------------
31 //-------------------------------------------------------------------------
32 class Mock {
33 public:
34  //-----------------------------------------------------------------
38  //-----------------------------------------------------------------
39  Mock(void){};
40 
41  //-----------------------------------------------------------------
45  //-----------------------------------------------------------------
46  ~Mock(void){};
47 
48  // ----------------- Arduino Digital I/O --------------------------
49 
50  //-----------------------------------------------------------------
57  //-----------------------------------------------------------------
58  static uint16_t digitalRead(uint8_t pin) { return 0; };
59 
60  //-----------------------------------------------------------------
68  //-----------------------------------------------------------------
69  static void digitalWrite(uint8_t pin, uint8_t value){};
70 
71  //-----------------------------------------------------------------
79  //-----------------------------------------------------------------
80  static void pinMode(uint8_t pin, uint8_t mode){};
81 
82  //------------------ Arduino Analog I/O ---------------------------
83 
84  //-----------------------------------------------------------------
91  //-----------------------------------------------------------------
92  static uint16_t analogRead(uint8_t pin) { return 0; };
93 
94  //-----------------------------------------------------------------
102  //-----------------------------------------------------------------
103  static void analogWrite(uint8_t pin, uint16_t value){};
104 
105  // --------------------- Arduino Time -----------------------------
106 
107  //-----------------------------------------------------------------
112  //-----------------------------------------------------------------
113  static uint32_t millis(void) { return 0L; };
114 
115  //-----------------------------------------------------------------
120  //-----------------------------------------------------------------
121  static uint32_t micros(void) { return 0L; };
122 
123  //-----------------------------------------------------------------
129  //-----------------------------------------------------------------
130  static void delay(uint32_t ms_delay) { ; };
131 
132  //-----------------------------------------------------------------
138  //-----------------------------------------------------------------
139  static void delayMicroseconds(uint32_t us_delay) { ; };
140 
141  // --------------------- Arduino Math -----------------------------
142 
143  //-----------------------------------------------------------------
160  //-----------------------------------------------------------------
161  static uint32_t map(uint32_t in_value, uint32_t in_min, uint32_t in_max,
162  uint32_t out_min, uint32_t out_max) {
163  return ((in_value - in_min) * (out_max - out_min) / (in_max - in_min) +
164  out_min);
165  };
166 
167  // ------------------ Arduino EEPROM library -----------------------
168 
169  // Mocked EEPROM library methods
170  //-----------------------------------------------------------------
177  //-----------------------------------------------------------------
178  static uint16_t read(uint16_t address) { return 0; };
179 
180  //-----------------------------------------------------------------
188  //-----------------------------------------------------------------
189  static void write(uint16_t address, uint16_t value){};
190 
191  //-----------------------------------------------------------------
199  //-----------------------------------------------------------------
200  static void update(uint16_t address, uint16_t value){};
201 
202  //-----------------------------------------------------------------
211  //-----------------------------------------------------------------
212  static uint16_t get(uint16_t address, uint16_t data) { return 0; };
213 
214  //-----------------------------------------------------------------
222  //-----------------------------------------------------------------
223  static void put(uint16_t address, uint16_t data){};
224 
225  //-----------------------------------------------------------------
230  //-----------------------------------------------------------------
231  static uint16_t length(void) { return 0; };
232 
233  //-----------------------------------------------------------------
238  //-----------------------------------------------------------------
239  static uint16_t begin(void) { return 0x00; };
240 
241  //-----------------------------------------------------------------
246  //-----------------------------------------------------------------
247  static uint16_t end(void) { return 0; };
248 };
249 /* class Mock */
250 
251 } /* namespace mock */
252 
255 #ifndef ARDUINO
256 
257 #define HIGH 0x1
258 #define LOW 0x0
259 
260 #define INPUT 0x0
261 #define OUTPUT 0x1
262 #define INPUT_PULLUP 0x2
263 
264 #define CHANGE 1
265 #define FALLING 2
266 #define RISING 3
267 
268 // Arduino standard typedef's
270 typedef uint16_t word;
272 typedef bool boolean;
274 typedef uint8_t byte;
275 
276 #endif
277 
278 #endif /* MOCK_H_ */
uint16_t word
Definition: Mock.h:270
uint8_t byte
Definition: Mock.h:274
bool boolean
Definition: Mock.h:272
Arduino Mock methods and mocked Arduino language constructs.
Definition: Mock.h:32
static uint16_t end(void)
Mocked EEPROM end().
Definition: Mock.h:247
static uint16_t analogRead(uint8_t pin)
Mocked Arduino analogRead().
Definition: Mock.h:92
static void put(uint16_t address, uint16_t data)
Mocked EEPROM put().
Definition: Mock.h:223
static uint16_t get(uint16_t address, uint16_t data)
Mocked EEPROM get().
Definition: Mock.h:212
static uint32_t map(uint32_t in_value, uint32_t in_min, uint32_t in_max, uint32_t out_min, uint32_t out_max)
Re-maps a number from one range to another. That is, a value of in_min would get mapped to out_min,...
Definition: Mock.h:161
static uint32_t millis(void)
Mocked Arduino millis().
Definition: Mock.h:113
static void delay(uint32_t ms_delay)
Mocked Arduino delay().
Definition: Mock.h:130
static void pinMode(uint8_t pin, uint8_t mode)
Mocked Arduino pinMode() returns without action.
Definition: Mock.h:80
static uint16_t length(void)
Mocked EEPROM length().
Definition: Mock.h:231
static uint16_t read(uint16_t address)
Mocked EEPROM read().
Definition: Mock.h:178
static void analogWrite(uint8_t pin, uint16_t value)
Mocked Arduino analogWrite() returns without action.
Definition: Mock.h:103
static void digitalWrite(uint8_t pin, uint8_t value)
Mocked Arduino digitalWrite() returns without action.
Definition: Mock.h:69
static uint16_t begin(void)
Mocked EEPROM begin().
Definition: Mock.h:239
static void update(uint16_t address, uint16_t value)
Mocked EEPROM update() returns without action.
Definition: Mock.h:200
static void write(uint16_t address, uint16_t value)
Mocked EEPROM write() returns without action.
Definition: Mock.h:189
~Mock(void)
Deallocate Mock object.
Definition: Mock.h:46
Mock(void)
Constructor.
Definition: Mock.h:39
static uint16_t digitalRead(uint8_t pin)
Mocked Arduino digitalRead().
Definition: Mock.h:58
static void delayMicroseconds(uint32_t us_delay)
Mocked Arduino delayMicroseconds().
Definition: Mock.h:139
static uint32_t micros(void)
Mocked Arduino micros().
Definition: Mock.h:121
Arduino mocked methods.
Definition: Mock.h:25