Files
dist_tester/mocks_extra.h

80 lines
1.8 KiB
C

/*
* mocks_extra.h
* Dodatkowe definicje potrzebne do kompilacji
* Uwaga: musi być dołączony PRZED helper.h i analog_in.h
*/
#ifndef MOCKS_EXTRA_H_
#define MOCKS_EXTRA_H_
#include <stdint.h>
// Mock for Semaphore_Handle (z TI-RTOS)
typedef void* Semaphore_Handle;
// Mock for Swi_Handle (z TI-RTOS)
typedef void* Swi_Handle;
// Mock for Task_Handle
typedef void* Task_Handle;
// Zmienna globalna dla stanu urządzenia
extern uint32_t dev_ctrl_state;
// Flagi stanu urządzenia
#define DEV_CTRL_STATE_TEST_LOG 0x01
// Atrapa funkcji czy_test_R - definicja w mocks.h
// Funkcja do ustawiania bitu przez wskaźnik
static inline int set_bit_ptr(uint32_t io, void *bit_ptr, uint8_t *bit_no) {
if (io && bit_ptr && bit_no) {
uint8_t mask = 1 << (*bit_no);
uint8_t *byte_ptr = (uint8_t *)bit_ptr;
*byte_ptr = mask;
return 1;
}
return 0;
}
// Funkcja do ustawiania bitu przez maskę
static inline int set_bit_ptr_mask(uint32_t io, void *bit_ptr, uint8_t *mask) {
if (io && bit_ptr && mask) {
uint8_t *byte_ptr = (uint8_t *)bit_ptr;
*byte_ptr = *mask;
return 1;
}
return 0;
}
// Funkcja do ustawiania wartości float
static inline int set_float_ptr(uint32_t io, void *float_ptr) {
if (io && float_ptr) {
float *fptr = (float *)float_ptr;
*fptr = (float)io;
return 1;
}
return 0;
}
// Funkcja do ustawiania wskaźnika w wskaźniku
static inline int set_pointer_in_ptr(uint32_t io, uint32_t *pointer_ptr) {
if (pointer_ptr) {
*pointer_ptr = io;
return 1;
}
return 0;
}
// Funkcja do pobierania wskaźnika
static inline int set_pointer_out_ptr(uint32_t io, uint32_t *pointer_ptr) {
(void)io;
if (pointer_ptr) {
*pointer_ptr = 0;
return 1;
}
return 0;
}
#endif /* MOCKS_EXTRA_H_ */