Jelajahi Sumber

2022-06-15 / Wendell

Actions
1. initial peripheral before execute pcba test (ccs)

Files
1. As follow commit history

Image version: D0.00.XX.XXXX.XX
Wendell 2 tahun lalu
induk
melakukan
031de180ef
1 mengubah file dengan 53 tambahan dan 0 penghapusan
  1. 53 0
      EVSE/Projects/CCS/Apps/PCBATester.c

+ 53 - 0
EVSE/Projects/CCS/Apps/PCBATester.c

@@ -168,6 +168,32 @@ int GetQca7kMac()
     SAVE_SYS_LOG_MSG_PCBATESTER("[QCA7K][Tx][VENDOR_VS_NW_INFO]Req for QCA7K MacAddr");
 }
 
+unsigned int isKernelSupportNAT()
+{
+	unsigned int result = 0;
+	unsigned int version = 0;
+	FILE *fp;
+	char cmd[256];
+	char buf[512];
+
+	// Get IP address & net mask
+	strcpy(cmd, "uname -v");
+	fp = popen(cmd, "r");
+	if(fp != NULL)
+	{
+		if(fgets(buf, sizeof(buf), fp) != NULL)
+		{
+			sscanf(buf, "#%d", &version);
+		//	DEBUG_INFO("Kernel version: %d\n", version);
+
+			if(version >= 30)
+				result = 1;
+		}
+	}
+	pclose(fp);
+
+	return result;
+}
 
 /*===========================================================================
 FUNCTION: CANBus_Init
@@ -519,6 +545,7 @@ int PCBATstr_ethernet()
     system("/sbin/ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up");
     system("/sbin/route add default gw 192.168.1.1");
     //system("ping -I eth0 -c 3 192.168.1.1");
+    sleep(1);
 
     return result;
 }
@@ -542,6 +569,7 @@ int PCBATstr_gpio_ntc()
     SAVE_SYS_LOG_MSG_PCBATESTER("-------- [ntc] --------");
 
     //Step 1: AM_IO_1
+    system("echo 87 > /sys/class/gpio/export");
     system("echo \"out\" > /sys/class/gpio/gpio87/direction");
 
     SAVE_SYS_LOG_MSG_PCBATESTER("[PCBATstr_gpio_ntc]AM_IO_1(ON): read NTC1, NTC2");
@@ -621,6 +649,8 @@ int PCBATstr_gpio_pp()
 
     SAVE_SYS_LOG_MSG_PCBATESTER("-------- [pp] --------");
 
+    // initial gpio
+    system("echo 89 > /sys/class/gpio/export");
     system("echo \"out\" > /sys/class/gpio/gpio89/direction");
 
     SAVE_SYS_LOG_MSG_PCBATESTER("[PCBATstr_gpio_ntc]PP(ON): read PP");
@@ -673,8 +703,18 @@ int PCBATstr_cp()
 
     SAVE_SYS_LOG_MSG_PCBATESTER("-------- [cp] --------");
 
+    // initial pwm
+    system("echo 0 > /sys/class/pwm/pwmchip0/export");
+    system("echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/period");// nano seconds =>1k Hz
+    system("echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle"); //default 100%
+    system("echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable");
+
+    system("echo 89 > /sys/class/gpio/export");
     system("echo \"out\" > /sys/class/gpio/gpio89/direction");
 
+    system("echo 86 > /sys/class/gpio/export");
+    system("echo \"out\" > /sys/class/gpio/gpio86/direction");
+
     SAVE_SYS_LOG_MSG_PCBATESTER("[PCBATstr_gpio_ntc]CP(PWM:100%,SetStateE:OFF): read CP");
     system("echo 1000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle");
     system("echo 0 > /sys/class/gpio/gpio86/value"); //state E
@@ -741,9 +781,13 @@ GLOBAL VARIABLES:
 =============================================================================*/
 int PCBATstr_killtasks()
 {
+	int result = PASS;
+
     SAVE_SYS_LOG_MSG_PCBATESTER("-------- [killtasks] --------");
 
     system("../root/stop.sh");
+
+    return result;
 }
 
 
@@ -759,6 +803,15 @@ int PCBATstr_qca7k()
 {
     SAVE_SYS_LOG_MSG_PCBATESTER("-------- [qca7000] --------");
 
+    if(isKernelSupportNAT() == 1)
+		system("/sbin/insmod /lib/qcaspi_nat.ko");
+	else
+		system("/sbin/insmod /lib/qcaspi.ko");
+   // system("/sbin/insmod /lib/qcaspi.ko");
+    sleep(2);
+    system("/sbin/ifconfig eth1 192.168.0.11 netmask 255.255.255.0 up");
+    sleep(1);
+
     int state = IDLE;
     int result = PASS;
     int packet_size = 0;