gpio: show also bit changes vs last gpio cmd

This commit is contained in:
René van Dorst
2025-09-05 00:10:18 +02:00
parent f481d1fbe4
commit 8e9cababfb
+11 -2
View File
@@ -32,6 +32,7 @@ extern __code uint8_t * __code hex;
extern __xdata uint8_t flash_buf[256]; extern __xdata uint8_t flash_buf[256];
__xdata uint8_t vlan_names[VLAN_NAMES_SIZE]; __xdata uint8_t vlan_names[VLAN_NAMES_SIZE];
__xdata uint16_t vlan_ptr; __xdata uint16_t vlan_ptr;
__xdata uint8_t gpio_last_value[12] = { 0 };
// Buffer for writing to flash 0x1fd000, copy to 0x1fe000 // Buffer for writing to flash 0x1fd000, copy to 0x1fe000
@@ -427,7 +428,7 @@ void cmd_parser(void) __banked
if (cmd_compare(0, "gpio")) { if (cmd_compare(0, "gpio")) {
for (uint8_t idx = 0; idx < 3; idx++) { for (uint8_t idx = 0; idx < 3; idx++) {
reg_read_m(RTL837X_REG_GPIO_A + (idx * 4)); reg_read(RTL837X_REG_GPIO_A + (idx * 4));
print_string("GPIO "); print_string("GPIO ");
write_char(idx + 'A'); write_char(idx + 'A');
write_char(':'); write_char(':');
@@ -438,12 +439,20 @@ void cmd_parser(void) __banked
print_byte(SFR_DATA_8); print_byte(SFR_DATA_8);
print_byte(SFR_DATA_0); print_byte(SFR_DATA_0);
write_char(' '); write_char(' ');
print_byte( gpio_last_value[(idx *4)] ^ SFR_DATA_24);
gpio_last_value[(idx *4)] = SFR_DATA_24;
print_byte( gpio_last_value[(idx *4) + 1] ^ SFR_DATA_16);
gpio_last_value[(idx *4) + 1] = SFR_DATA_16;
print_byte( gpio_last_value[(idx *4) + 2] ^ SFR_DATA_8);
gpio_last_value[(idx *4) + 2] = SFR_DATA_8;
print_byte( gpio_last_value[(idx *4) + 3] ^ SFR_DATA_0);
gpio_last_value[(idx *4) + 3] = SFR_DATA_0;
write_char('\n');
} }
} }
} }
} }
void execute_config(void) __banked void execute_config(void) __banked
{ {
__xdata uint32_t pos = CONFIG_START; __xdata uint32_t pos = CONFIG_START;