174 lines
6.8 KiB
C
174 lines
6.8 KiB
C
|
|
/*********************************************************************************************************************
|
|||
|
|
* CH32V307VCT6 Opensourec Library <EFBFBD><EFBFBD><EFBFBD><EFBFBD>CH32V307VCT6 <EFBFBD><EFBFBD>Դ<EFBFBD>⣩<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹٷ<EFBFBD> SDK <EFBFBD>ӿڵĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>
|
|||
|
|
* Copyright (c) 2022 SEEKFREE <EFBFBD><EFBFBD><EFBFBD>ɿƼ<EFBFBD>
|
|||
|
|
*
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>CH32V307VCT6 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* CH32V307VCT6 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᷢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> GPL<EFBFBD><EFBFBD>GNU General Public License<EFBFBD><EFBFBD><EFBFBD><EFBFBD> GNUͨ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD> GPL <EFBFBD>ĵ<EFBFBD>3<EFBFBD>棨<EFBFBD><EFBFBD> GPL3.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>κκ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>İ汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κεı<EFBFBD>֤
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD>ض<EFBFBD><EFBFBD><EFBFBD>;<EFBFBD>ı<EFBFBD>֤
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> GPL
|
|||
|
|
*
|
|||
|
|
* <EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD>յ<EFBFBD>һ<EFBFBD><EFBFBD> GPL <EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><https://www.gnu.org/licenses/>
|
|||
|
|
*
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> GPL3.0 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤Э<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>İ汾
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӣ<EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD> libraries/doc <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> GPL3_permission_statement.txt <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> libraries <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> LICENSE <EFBFBD>ļ<EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD>ӭ<EFBFBD><EFBFBD>λʹ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>뱣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<EFBFBD><EFBFBD>İ<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*
|
|||
|
|
* <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> zf_device_wifi_spi
|
|||
|
|
* <EFBFBD><EFBFBD>˾<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɿƼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾
|
|||
|
|
* <EFBFBD>汾<EFBFBD><EFBFBD>Ϣ <EFBFBD>鿴 libraries/doc <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> version <EFBFBD>ļ<EFBFBD> <EFBFBD>汾˵<EFBFBD><EFBFBD>
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MounRiver Studio V1.8.1
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨ CH32V307VCT6
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> https://seekfree.taobao.com/
|
|||
|
|
*
|
|||
|
|
* <EFBFBD>ļ<EFBFBD>¼
|
|||
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ע
|
|||
|
|
* 2023-05-25 <EFBFBD><EFBFBD>W first version
|
|||
|
|
********************************************************************************************************************/
|
|||
|
|
|
|||
|
|
#ifndef _zf_device_detector_h_
|
|||
|
|
#define _zf_device_detector_h_
|
|||
|
|
|
|||
|
|
#include "zf_common_typedef.h"
|
|||
|
|
#include "zf_common_debug.h"
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FIFO<46><4F>С
|
|||
|
|
#define DETECTOR_BUFFER_SIZE ( 0x40 )
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DETECTOR_SET_OSCILLOSCOPE_COUNT ( 0x08 )
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DETECTOR_SET_PARAMETR_COUNT ( 0x08 )
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DETECTOR_CAMERA_MAX_BOUNDARY ( 0x08 )
|
|||
|
|
|
|||
|
|
// <20><>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>֡ͷ
|
|||
|
|
#define DETECTOR_SEND_HEAD ( 0xAA )
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>
|
|||
|
|
#define DETECTOR_CAMERA_FUNCTION ( 0x02 )
|
|||
|
|
#define DETECTOR_CAMERA_DOT_FUNCTION ( 0x03 )
|
|||
|
|
#define DETECTOR_CAMERA_OSCILLOSCOPE ( 0x10 )
|
|||
|
|
|
|||
|
|
// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><C6AC><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>֡ͷ
|
|||
|
|
#define DETECTOR_RECEIVE_HEAD ( 0x55 )
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define DETECTOR_RECEIVE_SET_PARAMETER ( 0x20 )
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD>豸ö<E8B1B8><C3B6>
|
|||
|
|
typedef enum
|
|||
|
|
{
|
|||
|
|
DETECTOR_DEBUG_UART, // <20><><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD> ʹ<>õĴ<C3B5><C4B4><EFBFBD><EFBFBD><EFBFBD>DEBUG_UART_INDEX<45>궨<EFBFBD><EAB6A8>ָ<EFBFBD><D6B8>
|
|||
|
|
DETECTOR_WIRELESS_UART, // <20><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>
|
|||
|
|
DETECTOR_CH9141, // 9141<34><31><EFBFBD><EFBFBD>
|
|||
|
|
DETECTOR_WIFI_UART, // WIFIת<49><D7AA><EFBFBD><EFBFBD>
|
|||
|
|
DETECTOR_WIFI_SPI, // <20><><EFBFBD><EFBFBD>WIFI SPI
|
|||
|
|
DETECTOR_CUSTOM, // <20>Զ<EFBFBD><D4B6><EFBFBD>ͨѶ<CDA8><D1B6>ʽ <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>detector_custom_write_byte<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD>
|
|||
|
|
}detector_transfer_type_enum;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>
|
|||
|
|
typedef enum
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ͺŶ<CDBA><C5B6><EFBFBD>
|
|||
|
|
DETECTOR_OV7725_BIN = 1,
|
|||
|
|
DETECTOR_MT9V03X,
|
|||
|
|
DETECTOR_SCC8660,
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
DETECTOR_BINARY = 1,
|
|||
|
|
DETECTOR_GRAY,
|
|||
|
|
DETECTOR_RGB565,
|
|||
|
|
}detector_image_type_enum;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>
|
|||
|
|
typedef enum
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ͺŶ<CDBA><C5B6><EFBFBD>
|
|||
|
|
X_BOUNDARY, // <20><><EFBFBD>͵<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б߽<D0B1><DFBD><EFBFBD>Ϣֻ<CFA2><D6BB><EFBFBD><EFBFBD>X<EFBFBD><58>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ֻ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>߶ȵõ<C8B5>
|
|||
|
|
Y_BOUNDARY, // <20><><EFBFBD>͵<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б߽<D0B1><DFBD><EFBFBD>Ϣֻ<CFA2><D6BB><EFBFBD><EFBFBD>Y<EFBFBD><59>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD>ȵõ<C8B5><C3B5><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
XY_BOUNDARY, // <20><><EFBFBD>͵<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>б߽<D0B1><DFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>X<EFBFBD><58>Y<EFBFBD><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3>Ϳ<EFBFBD><CDBF>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
|
|||
|
|
NO_BOUNDARY, // <20><><EFBFBD>͵<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>û<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
}detector_boundary_type_enum;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8 head; // ֡ͷ
|
|||
|
|
uint8 channel_num; // <20><><EFBFBD><EFBFBD>λΪ<CEBB><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>λΪͨ<CEAA><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 check_sum; // <20><>У<EFBFBD><D0A3>
|
|||
|
|
uint8 length; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float data[DETECTOR_SET_OSCILLOSCOPE_COUNT]; // ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
}detector_oscilloscope_struct;
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8 head; // ֡ͷ
|
|||
|
|
uint8 function; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 camera_type; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʾ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>0x13<31><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33>ʾһ<CABE><D2BB>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽磨ͨ<E7A3A8><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽硢<DFBD><E7A1A2><EFBFBD>ߡ<EFBFBD><DFA1>ұ߽磩<DFBD><E7A3A9>1<EFBFBD><31>ʾû<CABE><C3BB>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 length; // <20><><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>鲿<EFBFBD>֣<EFBFBD>
|
|||
|
|
uint16 image_width; // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint16 image_height; // ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|||
|
|
}detector_camera_struct;
|
|||
|
|
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8 head; // ֡ͷ
|
|||
|
|
uint8 function; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 dot_type; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BIT5<54><35>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λ<36><CEBB> 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8λ<38><CEBB> BIT7-BIT6<54><36>0<EFBFBD><30>ֻ<EFBFBD><D6BB>X<EFBFBD><58><EFBFBD><EFBFBD> 1<><31>ֻ<EFBFBD><D6BB>Y<EFBFBD><59><EFBFBD><EFBFBD> 2<><32>X<EFBFBD><58>Y<EFBFBD><59><EFBFBD>궼<EFBFBD><EAB6BC> BIT3-BIT0<54><30><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 length; // <20><><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD>鲿<EFBFBD>֣<EFBFBD>
|
|||
|
|
uint16 dot_num; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 valid_flag; // ͨ<><CDA8><EFBFBD><EFBFBD>ʶ
|
|||
|
|
uint8 reserve; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
}detector_camera_dot_struct;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
void *image_addr; // <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ַ
|
|||
|
|
uint16 width; // ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint16 height; // ͼ<><CDBC><EFBFBD>߶<EFBFBD>
|
|||
|
|
detector_image_type_enum camera_type; // <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
|
|||
|
|
void *boundary_x[DETECTOR_CAMERA_MAX_BOUNDARY]; // <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
void *boundary_y[DETECTOR_CAMERA_MAX_BOUNDARY]; // <20>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
|||
|
|
}detector_camera_buffer_struct;
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
uint8 head; // ֡ͷ
|
|||
|
|
uint8 function; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 channel; // ͨ<><CDA8>
|
|||
|
|
uint8 check_sum; // <20><>У<EFBFBD><D0A3>
|
|||
|
|
float data; // <20><><EFBFBD><EFBFBD>
|
|||
|
|
}detector_parameter_struct;
|
|||
|
|
|
|||
|
|
|
|||
|
|
extern detector_oscilloscope_struct detector_oscilloscope_data; // <20><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
extern float detector_parameter[DETECTOR_SET_PARAMETR_COUNT]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5>IJ<EFBFBD><C4B2><EFBFBD>
|
|||
|
|
|
|||
|
|
|
|||
|
|
void detector_oscilloscope_send (detector_oscilloscope_struct *detector_oscilloscope);
|
|||
|
|
|
|||
|
|
void detector_camera_information_config (detector_image_type_enum camera_type, void *image_addr, uint16 width, uint16 height);
|
|||
|
|
void detector_camera_boundary_config (detector_boundary_type_enum boundary_type, uint16 dot_num, void *dot_x1, void *dot_x2, void *dot_x3, void *dot_y1, void *dot_y2, void *dot_y3);
|
|||
|
|
void detector_camera_send (void);
|
|||
|
|
|
|||
|
|
void detector_data_analysis (void);
|
|||
|
|
void detector_init (detector_transfer_type_enum transfer_type);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|