summaryrefslogtreecommitdiffstats
path: root/src/occ_405/sensor/sensor.c
diff options
context:
space:
mode:
authorShawn McCarney <shawnmm@us.ibm.com>2017-05-15 09:11:32 -0500
committerMartha Broyles <mbroyles@us.ibm.com>2017-06-28 10:05:28 -0400
commit2f3dd9e14af82d8c7bcc0f154d6fc06fa96d279a (patch)
treeb74dddf3ee05db9af97a0e75c0027404421f9926 /src/occ_405/sensor/sensor.c
parent8a97adf89847fa21d4ed3117d2a4150baf527bfe (diff)
downloadtalos-occ-2f3dd9e14af82d8c7bcc0f154d6fc06fa96d279a.tar.gz
talos-occ-2f3dd9e14af82d8c7bcc0f154d6fc06fa96d279a.zip
OCC: Non-GPU Sensors to main memory: Phase 3
A subset of OCC sensors are now copied to main memory. Includes sensors using both the full and counter sensor readings structures. Also made the following changes to the sensor system: * Added timestamp field to sensor_t Change-Id: Ibd3044a1be09160c2d6bdb06ac3c291f874f714b RTC: 153674 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42016 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com>
Diffstat (limited to 'src/occ_405/sensor/sensor.c')
-rwxr-xr-xsrc/occ_405/sensor/sensor.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/occ_405/sensor/sensor.c b/src/occ_405/sensor/sensor.c
index 9aedc9f..73c2a5e 100755
--- a/src/occ_405/sensor/sensor.c
+++ b/src/occ_405/sensor/sensor.c
@@ -25,13 +25,14 @@
-#include <sensor.h> // sensor structure and other defines
+#include <sensor.h> // sensor structure and other defines
#include <occ_common.h> // For size_t needed by memset
-#include <string.h> // For memset
-#include "ssx_io.h" // For sprintf
-#include <occ_service_codes.h> // OCC reason codes
+#include <string.h> // For memset
+#include "ssx_io.h" // For sprintf
+#include <occ_service_codes.h> // OCC reason codes
#include <sensor_service_codes.h> // sensor module ids
-#include <trac.h> // Trace macros
+#include <trac.h> // Trace macros
+#include <rtls.h> // For G_current_tick
#define UINT16_MIN 0
@@ -149,6 +150,7 @@ void sensor_reset( sensor_t * io_sensor_ptr)
{
if( io_sensor_ptr != NULL)
{
+ io_sensor_ptr->timestamp = 0x0;
io_sensor_ptr->accumulator = 0x0;
io_sensor_ptr->sample = 0x0;
@@ -266,6 +268,9 @@ void sensor_update( sensor_t * io_sensor_ptr, const uint16_t i_sensor_value)
sensor_reset(io_sensor_ptr);
}
+ // update timestamp
+ io_sensor_ptr->timestamp = G_current_tick;
+
// update sample value
io_sensor_ptr->sample = i_sensor_value;
@@ -280,6 +285,7 @@ void sensor_update( sensor_t * io_sensor_ptr, const uint16_t i_sensor_value)
// add sample value to accumulator
io_sensor_ptr->accumulator += i_sensor_value;
+
// increment update tag
io_sensor_ptr->update_tag += 1;
}
OpenPOWER on IntegriCloud