bool TM30_Protocol_SetYuvResolution(uint16_t width, uint16_t height)
{
uint8_t payload[7];
bool ok;
if (!((width == 96U && height == 96U) ||
(width == 240U && height == 240U))) {
return false;
}
payload[0] = (uint8_t)((width >> 16) & 0xFFU);
payload[1] = (uint8_t)((width >> 8) & 0xFFU);
payload[2] = (uint8_t)(width & 0xFFU);
payload[3] = 0x00U;
payload[4] = (uint8_t)((height >> 16) & 0xFFU);
payload[5] = (uint8_t)((height >> 8) & 0xFFU);
payload[6] = (uint8_t)(height & 0xFFU);
if (!protocol_lock()) return false; //是否有其他业务在占用硬件通道
ok = write_parameter(0x704AU, payload, sizeof(payload));//发送命令,发送硬件执行完成返回ok
protocol_unlock();
return ok;
}
bool TM30_Protocol_ReadYuvResolution(uint8_t *payload, uint8_t *length)
{
bool ok;
if (payload == NULL) return false;
if (!protocol_lock()) return false;
ok = read_parameter(0x704AU, payload, length);//发送读取命令
protocol_unlock();
return ok;
}