STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
fake_regs.h
Go to the documentation of this file.
1
#ifndef STAR_FAKE_REGS_H
2
#define STAR_FAKE_REGS_H
3
4
/*
5
* A pretend ST register-file sensor behind a dev_bus_t, for host tests.
6
* First byte of a frame: bit 7 = read, the rest the address. Multi-byte
7
* frames auto-increment the address: always (ISM330DHCX, IF_INC), or only
8
* when bit 6 of the command is set (H3LIS100DL "MS" bit).
9
*/
10
11
#include <stdbool.h>
12
#include <stdint.h>
13
14
#include "
dev_bus.h
"
15
16
typedef
struct
{
17
uint8_t
regs
[128];
18
bool
ms_bit
;
/* address in bits 5:0, bit 6 enables increment */
19
int
fail_after
;
/* transfers allowed before every one fails (-1 never) */
20
uint8_t
self_clear_reg
;
/* these bits clear after clear_after_reads */
21
uint8_t
self_clear_bits
;
22
unsigned
clear_after_reads
;
23
unsigned
self_clear_rearm
;
/* non-zero: each set-write re-arms the count */
24
uint8_t
stuck
[128];
/* bits that ignore writes (read-back mismatch) */
25
unsigned
transfers
;
26
unsigned
writes
;
27
uint8_t
write_reg
[64];
28
uint8_t
write_val
[64];
29
unsigned
delays_ms
;
30
}
fake_regs_t
;
31
32
void
fake_regs_init
(
fake_regs_t
* f,
bool
ms_bit);
33
dev_bus_t
fake_regs_bus
(
fake_regs_t
* f);
34
35
#endif
dev_bus.h
fake_regs_bus
dev_bus_t fake_regs_bus(fake_regs_t *f)
Definition
fake_regs.c:59
fake_regs_init
void fake_regs_init(fake_regs_t *f, bool ms_bit)
Definition
fake_regs.c:5
dev_bus_t
Definition
dev_bus.h:26
fake_regs_t
Definition
fake_regs.h:16
fake_regs_t::self_clear_bits
uint8_t self_clear_bits
Definition
fake_regs.h:21
fake_regs_t::self_clear_rearm
unsigned self_clear_rearm
Definition
fake_regs.h:23
fake_regs_t::regs
uint8_t regs[128]
Definition
fake_regs.h:17
fake_regs_t::writes
unsigned writes
Definition
fake_regs.h:26
fake_regs_t::self_clear_reg
uint8_t self_clear_reg
Definition
fake_regs.h:20
fake_regs_t::stuck
uint8_t stuck[128]
Definition
fake_regs.h:24
fake_regs_t::delays_ms
unsigned delays_ms
Definition
fake_regs.h:29
fake_regs_t::write_reg
uint8_t write_reg[64]
Definition
fake_regs.h:27
fake_regs_t::ms_bit
bool ms_bit
Definition
fake_regs.h:18
fake_regs_t::transfers
unsigned transfers
Definition
fake_regs.h:25
fake_regs_t::fail_after
int fail_after
Definition
fake_regs.h:19
fake_regs_t::clear_after_reads
unsigned clear_after_reads
Definition
fake_regs.h:22
fake_regs_t::write_val
uint8_t write_val[64]
Definition
fake_regs.h:28
firmware
Flight_Computer
tests
fakes
fake_regs.h
Generated by
1.15.0