FreeCalypso > hg > fc-magnetite
annotate src/cs/drivers/drv_app/fchg/fchg_struct.h @ 465:0f79101c6fa2
bmi2: show FreeCalypso fw version in ###520# screen
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 20 Mar 2018 06:08:06 +0000 | 
| parents | 4c3d05866531 | 
| children | 
| rev | line source | 
|---|---|
| 322 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * Internal structure definitions for the FCHG SWE reside here. | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * abb_inth.c will also need to include this header in order to | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 * get our T_PWR_CTRL_BLOCK definition. | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 */ | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #ifndef __FCHG_STRUCT_H | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #define __FCHG_STRUCT_H | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include "rv/rv_general.h" | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 #include "rvf/rvf_api.h" | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 #include "fchg/fchg_common.h" | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 struct charging_config { | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 UINT16 start_delay; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 UINT16 start_thresh; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 UINT16 restart_thresh; | 
| 360 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 18 UINT16 ci2cv_thresh; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 19 UINT16 cv_init_set; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 20 UINT16 cv_ctrl_loop_high; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 21 UINT16 cv_ctrl_loop_low; | 
| 362 
4c3d05866531
FCHG: beginning of the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
360diff
changeset | 22 UINT16 cv_dac_max_incr; | 
| 
4c3d05866531
FCHG: beginning of the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
360diff
changeset | 23 UINT16 cv_dac_max_decr; | 
| 360 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 24 UINT16 cv_samples_needed; | 
| 322 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 UINT16 overvoltage; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 UINT16 ci_current; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 UINT16 end_current; | 
| 360 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 28 UINT16 ichg_max_spike; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 29 UINT16 ichg_samples_needed; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 30 UINT16 charge_time_limit; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 31 UINT16 recharge_delay; | 
| 322 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 UINT16 bciconf; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 }; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /* from original PWR SWE */ | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 typedef struct { | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 UINT16 bat_voltage; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 T_PWR_PERCENT remain_capa; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 } T_PWR_THRESHOLDS; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #define MAX_THRESHOLDS 101 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 | 
| 360 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 43 #define ICHG_AVG_WINDOW 6 | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 44 | 
| 322 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 typedef struct { | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 /* RiViera boilerplate */ | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 T_RVF_ADDR_ID addr_id; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 T_RVF_MB_ID prim_id; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 /* configuration */ | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 struct charging_config config; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 BOOL config_present; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 T_PWR_THRESHOLDS batt_thresholds[MAX_THRESHOLDS]; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 UINT16 nb_thresholds; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 /* state */ | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 enum fchg_state state; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 UINT16 batt_mv; | 
| 333 
8a90038c0173
FCHG: store discharge state as threshold index rather than percentage
 Mychaela Falconia <falcon@freecalypso.org> parents: 
331diff
changeset | 57 UINT16 curr_disch_thresh; | 
| 331 
8166b0afcf8c
FCHG: main ADC process implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
322diff
changeset | 58 /* valid only during a charging cycle */ | 
| 
8166b0afcf8c
FCHG: main ADC process implemented
 Mychaela Falconia <falcon@freecalypso.org> parents: 
322diff
changeset | 59 UINT16 i2v_offset; | 
| 360 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 60 UINT16 cv_dac_init; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 61 UINT16 cv_dac_curr; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 62 UINT16 cv_high_vbat_count; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 63 UINT16 cv_low_vbat_count; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 64 UINT16 ichg_avg_buf[ICHG_AVG_WINDOW]; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 65 UINT16 ichg_fill_level; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 66 UINT16 ichg_ring_ptr; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 67 UINT16 ichg_average; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 68 UINT16 ichg_low_count; | 
| 
ce6d71349af0
FCHG: data structure changes in preparation for the new version
 Mychaela Falconia <falcon@freecalypso.org> parents: 
333diff
changeset | 69 UINT32 start_time; | 
| 322 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 } T_PWR_CTRL_BLOCK; | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 | 
| 
c4077830aeeb
FCHG implementation code started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 #endif /* include guard */ | 
