diff options
Diffstat (limited to 'src/occ_405/wof/wof.c')
-rw-r--r-- | src/occ_405/wof/wof.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/occ_405/wof/wof.c b/src/occ_405/wof/wof.c index 1426e6f..a8ada6a 100644 --- a/src/occ_405/wof/wof.c +++ b/src/occ_405/wof/wof.c @@ -5,7 +5,7 @@ /* */ /* OpenPOWER OnChipController Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -1526,8 +1526,24 @@ void calculate_ceff_ratio_vdd( void ) */ void calculate_AC_currents( void ) { - g_wof->iac_vdd = g_wof->curvdd_sensor - g_wof->idc_vdd; - g_wof->iac_vdn = g_wof->curvdn_sensor - g_wof->idc_vdn; + // avoid negative AC currents + if(g_wof->curvdd_sensor > g_wof->idc_vdd) + { + g_wof->iac_vdd = g_wof->curvdd_sensor - g_wof->idc_vdd; + } + else + { + g_wof->iac_vdd = 0; + } + + if(g_wof->curvdn_sensor > g_wof->idc_vdn) + { + g_wof->iac_vdn = g_wof->curvdn_sensor - g_wof->idc_vdn; + } + else + { + g_wof->iac_vdn = 0; + } } /** |