PER Firmware
Loading...
Searching...
No Matches
amk.h
Go to the documentation of this file.
1
10
#ifndef AMK_H
11
#define AMK_H
12
13
#include "can_library/generated/MCAN.h"
14
#include <stdint.h>
15
16
typedef
struct
{
17
// Flush functions
18
// ! must not be an inline function
19
void (*set_function)(void);
20
21
// Direct pointers to CAN library data structures
22
// ! cast all motor objects to INVA
23
INVA_SET_data_t *set;
24
INVA_CRIT_data_t *crit;
25
INVA_INFO_data_t *info;
26
INVA_TEMPS_data_t *temps;
27
INVA_ERR_1_data_t *err1;
28
INVA_ERR_2_data_t *err2;
29
30
// Internal state
31
AMK_state_t state;
32
AMK_state_t next_state;
33
bool
*precharge_ptr;
// owned pointer to precharge status from car module
34
}
AMK_t
;
35
36
void
AMK_init(
37
AMK_t
*amk,
38
void
(*set_func)(
void
),
39
INVA_SET_data_t *set,
40
INVA_CRIT_data_t *crit,
41
INVA_INFO_data_t *info,
42
INVA_TEMPS_data_t *temps,
43
INVA_ERR_1_data_t *err1,
44
INVA_ERR_2_data_t *err2,
45
bool
*precharge_ptr
46
);
47
48
void
AMK_reset(
AMK_t
* amk);
49
void
AMK_set_torque(
AMK_t
* amk, int16_t torque_percent);
50
void
AMK_periodic(
AMK_t
* amk);
51
52
#endif
// AMK_H
AMK_t
Definition
amk.h:16
common
amk
amk.h
Generated by
1.12.0