jungfrau filter resistor highervalue in fpga is smaller resitance, and needs toggling

This commit is contained in:
maliakal_d 2021-10-21 15:35:57 +02:00
parent 1f8823a3b7
commit a84bd1f881
2 changed files with 14 additions and 10 deletions

View File

@ -110,8 +110,8 @@
// CSM mode = high current (100%), low current (16%) // CSM mode = high current (100%), low current (16%)
#define CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST (19) #define CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST (19)
#define CONFIG_V11_STATUS_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST) #define CONFIG_V11_STATUS_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_STATUS_CRRNT_SRC_LOW_OFST)
#define CONFIG_V11_STATUS_FLTR_RSSTR_HGHR_OFST (21) #define CONFIG_V11_STATUS_FLTR_RSSTR_SMLR_OFST (21)
#define CONFIG_V11_STATUS_FLTR_RSSTR_HGHR_MSK (0x00000001 << CONFIG_V11_STATUS_FLTR_RSSTR_HGHR_OFST) #define CONFIG_V11_STATUS_FLTR_RSSTR_SMLR_MSK (0x00000001 << CONFIG_V11_STATUS_FLTR_RSSTR_SMLR_OFST)
#define CONFIG_V11_STATUS_AUTO_MODE_OVRRD_OFST (23) #define CONFIG_V11_STATUS_AUTO_MODE_OVRRD_OFST (23)
#define CONFIG_V11_STATUS_AUTO_MODE_OVRRD_MSK (0x00000001 << CONFIG_V11_STATUS_AUTO_MODE_OVRRD_OFST) #define CONFIG_V11_STATUS_AUTO_MODE_OVRRD_MSK (0x00000001 << CONFIG_V11_STATUS_AUTO_MODE_OVRRD_OFST)
@ -260,8 +260,8 @@
// CSM mode = high current (100%), low current (16%) // CSM mode = high current (100%), low current (16%)
#define CONFIG_V11_CRRNT_SRC_LOW_OFST (19) #define CONFIG_V11_CRRNT_SRC_LOW_OFST (19)
#define CONFIG_V11_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_CRRNT_SRC_LOW_OFST) #define CONFIG_V11_CRRNT_SRC_LOW_MSK (0x00000001 << CONFIG_V11_CRRNT_SRC_LOW_OFST)
#define CONFIG_V11_FLTR_RSSTR_HGHR_OFST (21) #define CONFIG_V11_FLTR_RSSTR_SMLR_OFST (21)
#define CONFIG_V11_FLTR_RSSTR_HGHR_MSK (0x00000001 << CONFIG_V11_FLTR_RSSTR_HGHR_OFST) #define CONFIG_V11_FLTR_RSSTR_SMLR_MSK (0x00000001 << CONFIG_V11_FLTR_RSSTR_SMLR_OFST)
#define CONFIG_V11_AUTO_MODE_OVRRD_OFST (23) #define CONFIG_V11_AUTO_MODE_OVRRD_OFST (23)
#define CONFIG_V11_AUTO_MODE_OVRRD_MSK (0x00000001 << CONFIG_V11_AUTO_MODE_OVRRD_OFST) #define CONFIG_V11_AUTO_MODE_OVRRD_MSK (0x00000001 << CONFIG_V11_AUTO_MODE_OVRRD_OFST)

View File

@ -2176,11 +2176,15 @@ int getFilterResistor() {
#else #else
uint32_t addr = CONFIG_V11_STATUS_REG; uint32_t addr = CONFIG_V11_STATUS_REG;
#endif #endif
// 0 for lower value, 1 for higher value uint32_t regval = bus_r(addr);
if (bus_r(addr) & CONFIG_V11_STATUS_FLTR_RSSTR_HGHR_MSK) { #ifndef VIRTUAL
return 1; regval ^= BIT32_MASK;
} #endif
// return 0 for lower value, 1 for higher value
if (bus_r(addr) & CONFIG_V11_STATUS_FLTR_RSSTR_SMLR_MSK) {
return 0; return 0;
}
return 1;
} }
int setFilterResistor(int value) { int setFilterResistor(int value) {
@ -2188,14 +2192,14 @@ int setFilterResistor(int value) {
if (value == 0) { if (value == 0) {
LOG(logINFO, ("Setting Lower Filter Resistor\n")); LOG(logINFO, ("Setting Lower Filter Resistor\n"));
bus_w(CONFIG_V11_REG, bus_w(CONFIG_V11_REG,
bus_r(CONFIG_V11_REG) & ~CONFIG_V11_FLTR_RSSTR_HGHR_MSK); bus_r(CONFIG_V11_REG) | CONFIG_V11_FLTR_RSSTR_SMLR_MSK);
return OK; return OK;
} }
// higher resistor // higher resistor
else if (value == 1) { else if (value == 1) {
LOG(logINFO, ("Setting Higher Filter Resistor\n")); LOG(logINFO, ("Setting Higher Filter Resistor\n"));
bus_w(CONFIG_V11_REG, bus_w(CONFIG_V11_REG,
bus_r(CONFIG_V11_REG) | CONFIG_V11_FLTR_RSSTR_HGHR_MSK); bus_r(CONFIG_V11_REG) & ~CONFIG_V11_FLTR_RSSTR_SMLR_MSK);
return OK; return OK;
} }
LOG(logERROR, ("Could not set Filter Resistor. Invalid value %d\n", value)); LOG(logERROR, ("Could not set Filter Resistor. Invalid value %d\n", value));