diff --git a/Core/Src/pribors.c b/Core/Src/pribors.c index a422eb3..52f9e5b 100644 --- a/Core/Src/pribors.c +++ b/Core/Src/pribors.c @@ -107,8 +107,8 @@ uint16_t set_status_prd(unsigned char *buf) for (uint16_t i = 1; i <14; i++) { - write_isa( BASE_ADDR_EMS_G + 0xC, i ); - ports_data = read_isa( BASE_ADDR_EMS_G + 0xE ); + write_isa(BASE_ADDR_EMS_G + 0xC, i ); + ports_data = read_isa(BASE_ADDR_EMS_G + 0xE ); buf[9 + (i - 1) * 2] = ports_data & 0xFF; buf[10 + (i -1) * 2] = ports_data >> 8; } @@ -120,24 +120,28 @@ uint16_t set_status_prd(unsigned char *buf) buf[37] = ports_data & 0xFF; buf[38] = ports_data >> 8; - ports_data = 0x55AA; //BASE_ADDR_UKP0 - for (uint16_t i = 0; i <8; i++) - { + for (uint16_t i = 0; i <16; i++) + { + ports_data = read_isa(BASE_ADDR_UKP0 + 0x8); buf[39 + i * 2] = ports_data & 0xFF; buf[40 + i * 2] = ports_data >> 8; } + write_isa(BASE_ADDR_UKP0 + 0x4, 1); + //BASE_ADDR_UKP1 - for (uint16_t i = 0; i <8; i++) + for (uint16_t i = 0; i <16; i++) { - buf[55 + i * 2] = ports_data & 0xFF; - buf[56 + i * 2] = ports_data >> 8; + ports_data = read_isa(BASE_ADDR_UKP1 + 0x8); + buf[71 + i * 2] = ports_data & 0xFF; + buf[72 + i * 2] = ports_data >> 8; } + write_isa(BASE_ADDR_UKP1 + 0x4, 1); pribor_type = PRIBOR_TYPE_PRD; - buf[6] = 63; + buf[6] = 103; return buf[6] + 2; }