mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-08-30 14:52:51 +08:00
Add support for 2nd SFP port in stats
This commit is contained in:
+20
-20
@@ -343,30 +343,30 @@ void send_status(void)
|
|||||||
itoa_html(i + 1);
|
itoa_html(i + 1);
|
||||||
|
|
||||||
if (IS_SFP(i)) {
|
if (IS_SFP(i)) {
|
||||||
slen += strtox(outbuf + slen, ",\"isSFP\":1,\"enabled\":");
|
slen += strtox(outbuf + slen, ",\"isSFP\":1,\"enabled\":");
|
||||||
bool_to_html(!((sfp_pins_last >> (i == maxPort ? 0 : 4)) & 1));
|
if (i != 3) {
|
||||||
|
reg_read_m(RTL837X_REG_GPIO_00_31_INPUT);
|
||||||
slen += strtox(outbuf + slen, ",\"link\":");
|
bool_to_html(!(sfr_data[0] & 0x40));
|
||||||
uint8_t rate = sfp_read_reg(i == maxPort ? 0 : 1, 12);
|
} else {
|
||||||
if (rate == 0xd)
|
reg_read_m(RTL837X_REG_GPIO_32_63_INPUT);
|
||||||
char_to_html('2'); // 1000BX
|
bool_to_html(!(sfr_data[1] & 0x04));
|
||||||
else if (rate == 0x1f)
|
}
|
||||||
char_to_html('5'); // 2G5
|
|
||||||
else if (rate > 0x65 && rate < 0x70)
|
|
||||||
char_to_html('4'); // 10G "4" is not a valid value for port LINK speed
|
|
||||||
else
|
|
||||||
char_to_html('1'); // 100M ???
|
|
||||||
} else {
|
} else {
|
||||||
slen += strtox(outbuf + slen, ",\"isSFP\":0,\"enabled\":");
|
slen += strtox(outbuf + slen, ",\"isSFP\":0,\"enabled\":");
|
||||||
phy_read(i, 0x1f, 0xa610);
|
phy_read(i, 0x1f, 0xa610);
|
||||||
bool_to_html(SFR_DATA_8 == 0x20);
|
bool_to_html(SFR_DATA_8 == 0x20);
|
||||||
|
|
||||||
slen += strtox(outbuf + slen, ",\"link\":");
|
|
||||||
reg_read_m(RTL837X_REG_LINKS);
|
|
||||||
uint8_t b = sfr_data[3 - (i >> 1)];
|
|
||||||
b = (i & 1) ? b >> 4 : b & 0xf;
|
|
||||||
char_to_html('0' + b);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
slen += strtox(outbuf + slen, ",\"link\":");
|
||||||
|
|
||||||
|
if (i < 8)
|
||||||
|
reg_read_m(RTL837X_REG_LINKS);
|
||||||
|
else
|
||||||
|
reg_read_m(RTL837X_REG_LINKS_89);
|
||||||
|
uint8_t b = sfr_data[3 - ((i & 7) >> 1)];
|
||||||
|
b = (i & 1) ? b >> 4 : b & 0xf;
|
||||||
|
char_to_html('0' + b);
|
||||||
|
|
||||||
STAT_GET(STAT_COUNTER_TX_PKTS, i);
|
STAT_GET(STAT_COUNTER_TX_PKTS, i);
|
||||||
slen += strtox(outbuf + slen, ",\"txG\":\"0x");
|
slen += strtox(outbuf + slen, ",\"txG\":\"0x");
|
||||||
reg_to_html(RTL837X_STAT_V_HIGH);
|
reg_to_html(RTL837X_STAT_V_HIGH);
|
||||||
|
|||||||
Reference in New Issue
Block a user