<commit_before>/*****************************************************************************
 * Core.h
 *
 * Core Module: Defines global submersible types
 *
 ******************************************************************************/

#ifndef AUVCORE_H
#define AUVCORE_H

//#include <cv.hpp>
#include <opencv2/opencv.hpp>


///////////////
// Constants //
///////////////

// Math
#define PI    3.141592653589793


//////////////////////
// Type definitions //
//////////////////////

// Submersible operating mode enumerated type
typedef enum sub_mode_t
{
  INITIALIZING,
  RUNNING,
  PAUSED,
  CONFUSED,
  PANICKING,
  STOPPED
} sub_mode_t;

// Armed? enumerated type
typedef enum armed_t
{
  ARMED,
  DISARMED
} armed_t;

// Struct for holding BNO055 return values
typedef struct
{
  float yaw, roll, pitch, p, q, r;
  int sys, gyro, accel, mag;
} bno055_t;

// Submersible overall state type
typedef struct sub_state_t
{
  sub_mode_t    mode;           // Operating mode
  double        range;          // Range to bottom
  double        depth;          // Depth below surface
  double        fdepth;         // Filtered depth below surface
  cv::Point3f   pose;           // Location + Yaw of sub
  armed_t       laserarmed;     // Whether the laser can be turned on or not<commit_msg>testing safety<commit_after>/*****************************************************************************
 * Core.h
 *
 * Core Module: Defines global submersible types
 *
 ******************************************************************************/

#ifndef AUVCORE_H
#define AUVCORE_H

//#include <cv.hpp>
#include <opencv2/opencv.hpp>


///////////////
// Constants //
///////////////

// Math
#define PI    3.141592653589793


//////////////////////
// Type definitions //
//////////////////////

// Submersible operating mode enumerated type
typedef enum sub_mode_t
{
  INITIALIZING,
  RUNNING,
  PAUSED,
  CONFUSED,
  PANICKING,
  STOPPED
} sub_mode_t;

// Armed? enumerated type
typedef enum armed_t
{
  ARMED,
  DISARMED
} armed_t;

// Struct for holding BNO055 return values
typedef struct
{
  float yaw, roll, pitch, p, q, r, x_acc, y_acc, z_acc;
  int sys, gyro, accel, mag;
} bno055_t;

// Submersible overall state type
typedef struct sub_state_t
{
  sub_mode_t    mode;           // Operating mode
  double        range;          // Range to bottom
  double        depth;          // Depth below surface
  double        fdepth;         // Filtered depth below surface
  cv::Point3f   pose;           // Location + Yaw of sub
  armed_t       laserarmed;     // Whether the laser can be turned on or not
{'fraction_non_alphanumeric': 0.24674827850038256, 'fraction_numerical': 0.018362662586074982, 'mean_word_length': 2.339719029374202, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2441260', 'n_tokens_mistral': 828, 'n_tokens_neox': 751, 'n_words': 227}