#pragma once
/******************************************************
* 文件名   : OptoSkyType.h	
* 类名     : 
* 作用     :
* 作者     : xin	
* 邮箱     : renlixin@iris-rs.cn 	
* 日期     : 2021-2-22
********************************************************
*                                                      *
*                           _ooOoo_                    *
*                          o8888888o                   *
*                          88" . "88                   *
*                          (| -_- |)                   *
*                          O\  =  /O                   *
*                       ____/`---'\____                *
*                     .'  \\|     |//  `.              *
*                    /  \\|||  :  |||//  \             *
*                   /  _||||| -:- |||||-  \            *
*                   |   | \\\  -  /// |   |            *
*                   | \_|  ''\---/''  |   |            *
*                   \  .-\__  `-`  ___/-. /            *
*                 ___`. .'  /--.--\  `. . __           *
*              ."" '<  `.___\_<|>_/___.'  >'"".        *
*             | | :  `- \`.;`\ _ /`;.`/ - ` : | |      *
*             \  \ `-.   \_ __\ /__ _/   .-` /  /      *
*        ======`-.____`-.___\_____/___.-`____.-'====== *
*                           `=---='                    *
*        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
*                 佛祖保佑       长发永存              *
*                                                      *
********************************************************/



#include "QByteArray"
#include"QString"
#define GET_MODEBOARD_TEMP 0x01
#define GET_PN_NUMBER 0x03
#define GET_SN_NUMBER 0x04
#define GET_MANUFACTURE_DATA 0x06
#define GET_MANUFACTOR_INFO 0x09
#define GET_PIXEL_LENGTH 0x0a
#define GET_TEC_TEMP 0x13
#define SET_TEC_TEMP 0x12
#define GET_OPTICFLAT_TEMP 0x35
#define GET_CIRCUIT_BOARD_TEMP 0x36
#define SET_INTEGRAL_TIME 0x14
#define GET_INTEGRAL_TIME 0x41
#define GET_MAX_INTEGRAL_TIME 0x42
#define GET_MIN_INTEGRAL_TIME 0x43
#define ASYNCHRONOUS_COLLECT_DARK 0x23
#define ASYNCHRONOUS_START_COLLECTION 0x16
#define ASYNCHRONOUS_READ_DATA 0x17
#define SET_AVERAGE_NUMBER 0x28
#define SYNCHRONIZATION_GET_DATA 0x1e
#define SYNCHRONIZATION_GET_DARK 0x2f
#define EXTERNAL_TRIGGER_ENABLE 0x1f
#define SET_XENON_LAMP_DELAY_TIME 0x24
#define GET_WAVELENGTH_CALIBRATION_COFF 0x55
#define GET_STAT_OF_LAMPOUT 0x60
#define SET_GPIO 0x61
namespace OptoSky
{

void SetPortName(QString comname, qint32 bandrate=115200);
void closeport();
void SendComment(QByteArray Comment);
void SendComment(char comid);
void SendComment(QByteArray Comment, QByteArray Data);
bool GetReturn(QByteArray id, QByteArray &data);
bool GetReturn(char id, QByteArray &data);
bool GetReturn(QByteArray &data);
void SendComment(char comid, QByteArray Data);
bool isSensorInit();
void RemoveHeaderandEnd(QByteArray &buf);
}