T-EMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
MilStd1553.h
Go to the documentation of this file.
1 
8 #ifndef TEMU_MIL_STD_1553_H
9 #define TEMU_MIL_STD_1553_H
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #include "temu-c/Support/Objsys.h"
16 
17 #include <assert.h>
18 #include <stdbool.h>
19 #include <stdint.h>
20 
21 typedef enum temu_Mil1553Error {
24  teME_SyncError = 1 << 1
26 
27 typedef enum temu_Mil1553MsgType {
33 
34 
35 typedef struct temu_Mil1553Msg {
36  temu_Mil1553MsgType MsgTyp; // Pre-computed for convenience
37  struct {
38  uint16_t Rt:5;
39  uint16_t TR:1;
40  uint16_t SaMode:5;
41  uint16_t CountModeCode:5;
42  } Cmd;
43  uint16_t *Data;
45 
46 typedef struct temu_Mil1553DevIface {
47  void (*send)(void *Device, temu_Mil1553Msg *Msg);
49 
50 OBJSYS_OBJ_TYPE(temu_Mil1553Dev);
51 
52 
53 typedef struct temu_Mil1553BusIface {
54  void (*connect)(void *Bus, int Subaddr, temu_Mil1553DevObj Device);
55  void (*send)(void *Bus, void *Sender, temu_Mil1553Msg *Msg);
57 
58 OBJSYS_OBJ_TYPE(temu_Mil1553Bus);
59 
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 
66 #endif /* ! TEMU_MIL_STD_1553_H */
struct temu_Mil1553Msg::@0 Cmd
temu_Mil1553Error
Definition: MilStd1553.h:21
temu_Mil1553MsgType
Definition: MilStd1553.h:27
struct temu_Mil1553DevIface temu_Mil1553DevIface
#define OBJSYS_OBJ_TYPE(N)
Definition: Objsys.h:74
struct temu_Mil1553BusIface temu_Mil1553BusIface
uint16_t Rt
Definition: MilStd1553.h:38
uint16_t SaMode
Definition: MilStd1553.h:40
temu_Mil1553MsgType MsgTyp
Definition: MilStd1553.h:36
struct temu_Mil1553Msg temu_Mil1553Msg
uint16_t CountModeCode
Definition: MilStd1553.h:41
void(* send)(void *Bus, void *Sender, temu_Mil1553Msg *Msg)
Definition: MilStd1553.h:55
void(* send)(void *Device, temu_Mil1553Msg *Msg)
Definition: MilStd1553.h:47
uint16_t * Data
Definition: MilStd1553.h:43
void(* connect)(void *Bus, int Subaddr, temu_Mil1553DevObj Device)
Definition: MilStd1553.h:54
uint16_t TR
Definition: MilStd1553.h:39