void shell_port(char ** argv, int elem) {
- int n;
+ int n, i;
if (elem == 1) {
settings.portStatistics[n].bytesOut
);
}
+ } else if (strncmp(argv[1], "diag", 4) == 0) {
+ if (elem != 3) {
+ printf("Port needed\n");
+ return;
+ }
+
+ n = atoi(argv[2]);
+
+ if (n < 1 | n > 5) {
+ printf("Invalid Port\n");
+ return;
+ }
+
+ password();
+ i = gs105e_cableDiagnostics((char) n);
+
+ printError(i);
+ if (i != 0)
+ return;
+ if (settings.portStatistics[n].cableError) {
+ printf("\033[91mError detected: %s in %i m\033[0m\n",
+ (settings.portStatistics[n].cableError == 0x03 ? "short circuit" : (settings.portStatistics[n].cableError == 0x02 ? "Only one pair Connected!": "damaged")),
+ settings.portStatistics[n].errorDist
+ );
+
+ }else{
+ if (settings.portStatistics[n].errorDist == 0 )
+ printf("\033[92mSeems no Cable is connected!?\033[0m\n");
+ else
+ printf("\033[92mCable is fine!\033[0m\n", settings.portStatistics[n].errorDist);
+ }
}
}