From 918de7a166c142885cb0d1b7b58e9abf30365528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bub=C3=ADk?= Date: Tue, 25 May 2021 00:53:03 +0200 Subject: [PATCH] ACER protocol made functional on real device --- tasmota/xdrv_53_projector_ctrl.h | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tasmota/xdrv_53_projector_ctrl.h b/tasmota/xdrv_53_projector_ctrl.h index 4c4eed62e..ea010b5c5 100644 --- a/tasmota/xdrv_53_projector_ctrl.h +++ b/tasmota/xdrv_53_projector_ctrl.h @@ -68,22 +68,23 @@ static const struct projector_ctrl_command_info_s projector_ctrl_commands[] = { #elif defined(USE_PROJECTOR_CTRL_ACER) /* see the serial codes in * http://global-download.acer.com/GDFiles/Document/RS232%20Command%20Table/RS232%20Command%20Table_Acer_1.0_A_A.zip?acerid=636791605984811687 - * not really tested with ACER devices + * tested with ACER P1500 */ #define PROJECTOR_CTRL_LOGNAME "DLP[ACER]" -static const uint8_t projector_ctrl_msg_qry_typ[] = { '*',' ','0',' ','I','R',' ','0','3','5', 0x0d }; //line50 -static const uint8_t projector_ctrl_msg_qry_pwr[] = { '*',' ','0',' ','L','a','m','p',' ','?', 0x0d }; //line97 -static const uint8_t projector_ctrl_msg_pwr_on[] = { '*',' ','0',' ','I','R',' ','0','0','1', 0x0d }; //line18 -static const uint8_t projector_ctrl_msg_pwr_off[] = { '*',' ','0',' ','I','R',' ','0','0','2', 0x0d }; //line19 +//static const uint8_t projector_ctrl_msg_qry_typ[] = { '*',' ','0',' ','I','R',' ','0','3','5', 0x0d }; //line50 - responds *000\rModel Model P1500E\r [fails in OFF mode] +static const uint8_t projector_ctrl_msg_qry_typ[] = { '*',' ','0',' ','L','a','m','p',' ','?', 0x0d }; //cannot query typ, so query Lamp status instead +static const uint8_t projector_ctrl_msg_qry_pwr[] = { '*',' ','0',' ','L','a','m','p',' ','?', 0x0d }; //line97 - responds *000\rLamp 0\r +static const uint8_t projector_ctrl_msg_pwr_on[] = { '*',' ','0',' ','I','R',' ','0','0','1', 0x0d }; //line18 - responds *000\r +static const uint8_t projector_ctrl_msg_pwr_off[] = { '*',' ','0',' ','I','R',' ','0','0','2', 0x0d }; //line19 - responds *000\r static const struct projector_ctrl_command_info_s projector_ctrl_commands[] = { {PROJECTOR_CTRL_S_QRY_TYPE, &projector_ctrl_msg_qry_typ[0], sizeof(projector_ctrl_msg_qry_typ), - PROJECTOR_CTRL_SERIAL_TIMEOUT, 'M', 10, 6, 4, '?', 1, 0, 1}, + PROJECTOR_CTRL_SERIAL_TIMEOUT, '*', 12, 10, 1, '?', 1, 0, 1}, {PROJECTOR_CTRL_S_QRY_PWR, &projector_ctrl_msg_qry_pwr[0], sizeof(projector_ctrl_msg_qry_pwr), - PROJECTOR_CTRL_SERIAL_TIMEOUT, 'L', 7, 5, 1, '?', 1, 0, 1}, + PROJECTOR_CTRL_SERIAL_TIMEOUT, '*', 12, 10, 1, '?', 1, 0, 1}, {PROJECTOR_CTRL_S_PWR_ON, &projector_ctrl_msg_pwr_on[0], sizeof(projector_ctrl_msg_pwr_on), - PROJECTOR_CTRL_SERIAL_TIMEOUT, 'O', 2, 0, 1, '?', 1, 0, 1}, + PROJECTOR_CTRL_SERIAL_TIMEOUT, '*', 5, 0, 1, '?', 1, 0, 1}, {PROJECTOR_CTRL_S_PWR_OFF, &projector_ctrl_msg_pwr_off[0], sizeof(projector_ctrl_msg_pwr_off), - PROJECTOR_CTRL_SERIAL_TIMEOUT, 'O', 2, 0, 1, '?', 1, 0, 1} + PROJECTOR_CTRL_SERIAL_TIMEOUT, '*', 5, 0, 1, '?', 1, 0, 1} }; #define PROJECTOR_CTRL_QRYPWR_ON '1' #define PROJECTOR_CTRL_QRYPWR_COOLING '1' //placebo