I did not do a full review, but I stumbled over missing definitions in the header file compared to the data sheet. The header file should contain for all registers all field definitions as defined in the data sheet.
E.g.
|
#define TMC5272_ENCMODE_NBEMF_ABN_SEL_FIELD(motor) ((RegisterField) { TMC5272_ENCMODE_NBEMF_ABN_SEL_MASK, TMC5272_ENCMODE_NBEMF_ABN_SEL_SHIFT, TMC5272_ENCMODE(motor), false }) |
|
#define TMC5272_ENCMODE_BEMF_HYST_MASK 0x00007000 |
|
#define TMC5272_ENCMODE_BEMF_HYST_SHIFT 12 |
|
#define TMC5272_ENCMODE_BEMF_HYST_FIELD(motor) ((RegisterField) { TMC5272_ENCMODE_BEMF_HYST_MASK, TMC5272_ENCMODE_BEMF_HYST_SHIFT, TMC5272_ENCMODE(motor), false }) |
|
#define TMC5272_ENCMODE_BEMF_BLANK_TIME_MASK 0x00FF0000 |
|
#define TMC5272_ENCMODE_BEMF_BLANK_TIME_SHIFT 16 |
|
#define TMC5272_ENCMODE_BEMF_BLANK_TIME_FIELD(motor) ((RegisterField) { TMC5272_ENCMODE_BEMF_BLANK_TIME_MASK, TMC5272_ENCMODE_BEMF_BLANK_TIME_SHIFT, TMC5272_ENCMODE(motor), false }) |
lacks the definition for the fields:
- qsc_enc_en
- BEMF_FILTER_SEL
In addition - at least for the TMC5272 - the header file does not define field values as defined in the "Decode" column in the data sheet. This would be very helpful to have all of them in the header file as there are really a lot of them. E.g.:
#define TMC5272_ENCMODE_POL_B_NEGATIVE (0)
#define TMC5272_ENCMODE_POL_B_POSITIVE (1)
I did not do a full review, but I stumbled over missing definitions in the header file compared to the data sheet. The header file should contain for all registers all field definitions as defined in the data sheet.
E.g.
TMC-API/tmc/ic/TMC5272/TMC5272_HW_Abstraction.h
Lines 520 to 526 in f276b3e
lacks the definition for the fields:
In addition - at least for the TMC5272 - the header file does not define field values as defined in the "Decode" column in the data sheet. This would be very helpful to have all of them in the header file as there are really a lot of them. E.g.: