text: /*
  * Copyright (c) 2019, Petre Rodan
  * All rights reserved.
  * 
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met: 
  * 
  * 1. Redistributions of source code must retain the above copyright notice, this
  *    list of conditions and the following disclaimer. 
  * 2. Redistributions in binary form must reproduce the above copyright notice,
  *    this list of conditions and the following disclaimer in the documentation
  *    and/or other materials provided with the distribution. 
  * 
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 THE COPYRIGHT OWNER OR CONTRIBUTORS 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.
  */
  
  /**
  * \addtogroup 
  * \brief 
  * \author Petre Rodan
  * 
  * \{
  **/
  
  #ifndef __HSC_SSC_H_
  #define __HSC_SSC_H_
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  #include <inttypes.h>
  
  struct HSC_SSC_pkt {
      uint8_t status;             // 2 bit
      uint16_t bridge_data;       // 14 bit
      uint16_t temperature_data;  // 11 bit
  };
  
  
  uint8_t HSC_SSC_read(const uint16_t usci_base_addr, const uint8_t slave_addr, struct HSC_SSC_pkt *hsc_pkt);
  
  uint8_t HSC_SSC_convert(const struct HSC_SSC_pkt hsc_pkt, uint32_t * pressure,
                     int16_t * temperature, const uint16_t output_min,
                     const uint16_t output_max, const float pressure_min,
                     const float pressure_max);
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif
  