package mcu_ctrl_board /* #include "mcu_ctrl_board.h" */ import "C" import ( "fmt" ) type WorkState byte const ( Idle WorkState = 0x00 // 空闲(默认) AppUpgrading WorkState = 0x01 // 应用程序-升级中 TakingPhoto WorkState = 0x01 // 相机数据-拍照中 PhotoUploading WorkState = 0x10 // 相机数据-上传中 ParsingEnvData WorkState = 0x01 // 环境数据-收集中 EnvDataUploading WorkState = 0x10 // 环境数据-上传中 ) // 打开与MCU控制板的串口通讯 func mcuCtrlBoard_ComInit() (int, error) { ret := int(C.MCBComInit()) if ret != 0 { return ret, fmt.Errorf("an error occurred while calling the C.MCBComInit function(%d)", ret) } return 0, nil } // 关闭与MCU控制板的串口通讯 func mcuCtrlBoard_ComExit() error { ret := int(C.MCBComExit()) if ret != 0 { return fmt.Errorf("an error occurred while calling the C.MCBComExit function(%d)", ret) } return nil } // 配置单片机控制板-运行参数 func mcuCtrlBoard_ConfParameters(version uint32, ctrl_mode uint8, light_duration uint8, start_hour uint8, end_hour uint8, tp_intvl_min uint16) { C.MCBConfParameters(C.uint32_t(version), C.uint8_t(ctrl_mode), C.uint8_t(light_duration), C.uint8_t(start_hour), C.uint8_t(end_hour), C.uint16_t(tp_intvl_min)) } // 设置工作状态位图-固件运维 func MCBSetMNTStateBit(state WorkState) error { ret := int(C.MCBSetMNTStateBit(C.uint8_t(state))) if ret != 0 { return fmt.Errorf("an error occurred while calling the C.MCBSetMNTState function(%d)", ret) } return nil } // 设置工作状态位图-相机拍照 func MCBSetCamStateBit(state WorkState) error { ret := int(C.MCBSetCamStateBit(C.uint8_t(state))) if ret != 0 { return fmt.Errorf("an error occurred while calling the C.MCBSetCamState function(%d)", ret) } return nil } // 设置工作状态位图-环境数据 func MCBSetEnvStateBit(state WorkState) error { ret := int(C.MCBSetEnvStateBit(C.uint8_t(state))) if ret != 0 { return fmt.Errorf("an error occurred while calling the C.MCBSetEnvState function(%d)", ret) } return nil } // 请求获取当前实时-环境数据 func MCBReqEnvCurData() error { ret := int(C.MCBReqEnvCurData()) if ret != 0 { return fmt.Errorf("an error occurred while calling the C.MCBReqEnvCurData function(%d)", ret) } return nil }