IRPyro messaging application
Communications program between IRPyro and IRPyro evaluation tool
message_interpreter.c File Reference

Decoded commands from the GUI are prepared for application to the sensor. More...

Include dependency graph for message_interpreter.c:

Go to the source code of this file.

Macros

#define AFE_SIZE   (2)
 
#define CMD_ARRAY_SIZE   (35)
 

Functions

static void asic_version_read (void)
 Returns the result to the operation to the GUI. More...
 
static void board_type_read (void)
 Returns the result to the operation to the GUI. More...
 
static void bytes_to_AFE (uint8_t *AFE_bytes, AFE_reg_type *AFE_register)
 decodes the AFE register of the IRPyro into this_device More...
 
static void bytes_to_CCP (uint8_t CCP_byte, CCP_reg_type *CCP_register)
 decodes the CCP register of the IRPyro into this_device More...
 
static void bytes_to_WUP (uint8_t *WUP_bytes, WUP_reg_type *WUP_register)
 decodes the WUP register of the IRPyro into this_device More...
 
static void firmware_version_send (void)
 configures firmware version string More...
 
static void fndummy (void)
 Null operation for the state machine. More...
 
static void get_darkpixel_state (void)
 Returns the result to the operation to the GUI. More...
 
static void get_failure_flags (void)
 Returns the result to the operation to the GUI. More...
 
static void goto_sleep (void)
 Configures the wake up function and sends the sleep command. More...
 
static void intpr_AFE_read (void)
 Returns the result to the operation to the GUI. More...
 
static void intpr_AFE_write (void)
 commits the AFE values to the structure in memory More...
 
static void intpr_CCP_read (void)
 Collects values stored in the channels configured on channel configuration. More...
 
static void intpr_CCP_write (void)
 Writes CCP values to channels configured on channel configuration the CCP values are given as single registers by the GUI. they need to be converted to API form and written to the registers in memory. The values in memory are committed to the actual sensor using the ioctl command. More...
 
static void intpr_WUP_read (void)
 Returns the result to the operation to the GUI. More...
 
static void intpr_WUP_write (void)
 Loads the WUP values to be applied to the sensor. More...
 
static void logical_channels_read (void)
 Returns the result to the operation to the GUI. More...
 
static void logical_channels_write (void)
 Updates with values received from the GUI. More...
 
execute_next_state_type message_interpreter (uint8_t *cmd_code, uint8_t *destination)
 Recovers the next message from the GUI to the sensor If the message is valid, is passed to the corresponding function. the function then sets flags or loads parameters. More...
 
static void null_test_command (void)
 configures the null test More...
 
static void report_error (void)
 Changes the error flag and reports to the GUI. More...
 
static void reset_hard (void)
 Returns the result to the operation to the GUI. More...
 
static void reset_hardware (void)
 Returns the result to the operation to the GUI. More...
 
static void reset_soft (void)
 Returns the result to the operation to the GUI. More...
 
static void sampling_rate_read (void)
 Returns the result to the operation to the GUI. More...
 
static void sampling_rate_write (void)
 Configures the sample rate in memory and prepares message to sensor. More...
 
static void second_unit_id_read (void)
 Returns the result to the operation to the GUI. More...
 
static void set_darkpixel_state (void)
 Returns the result to the operation to the GUI. More...
 
static void set_emitter_state (void)
 Updates with values received from the GUI. More...
 
static void set_emitter_timings (void)
 Updates with the values received from the GUI. More...
 
static void status_start (void)
 Enables status report to the GUI. More...
 
static void status_stop (void)
 Disables status report to the GUI. More...
 
static void streaming_start (void)
 Returns the result to the operation to the GUI. More...
 
static void streaming_stop (void)
 Changes the streaming flag and reports to the GUI. More...
 
static void unit_id_read (void)
 Returns the result to the operation to the GUI. More...
 
static void unit_id_write (void)
 Returns the result to the operation to the GUI. More...
 
static void wake_up (void)
 Wakes up the sensor and disables the call back function. More...
 

Variables

uint8_t message_to_sensor_payload [7] = {0}
 
execute_next_state_type next_step
 
EXTernal_callback pointer_to_read_function
 
EXTernal_callback pointer_to_wakeup_function
 

Detailed Description

Decoded commands from the GUI are prepared for application to the sensor.

Author
_KEMET, Ltd
Date
March 2018
Version
Release 1.0.6
Attention

© COPYRIGHT 2018 _KEMET, Ltd

   Copyright (c) 2018, _KEMET, Ltd
   All rights reserved.

   THIS SOFTWARE IS PROVIDED BY _KEMET, Ltd ''AS IS'' AND ANY
   EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   DISCLAIMED. IN NO EVENT SHALL _KEMET, Ltd BE LIABLE FOR ANY
   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file message_interpreter.c.

Macro Definition Documentation

◆ AFE_SIZE

#define AFE_SIZE   (2)

◆ CMD_ARRAY_SIZE

#define CMD_ARRAY_SIZE   (35)