mirror of
https://github.com/dekuNukem/USB4VC.git
synced 2025-10-31 11:26:46 -07:00
updated IBM PC P-card firmware to 0.2.0
This commit is contained in:
@@ -7,9 +7,11 @@ import RPi.GPIO as GPIO
|
||||
PBOARD_RESET_PIN = 25
|
||||
PBOARD_BOOT0_PIN = 12
|
||||
|
||||
SLAVE_REQ_PIN = 16
|
||||
GPIO.setmode(GPIO.BCM)
|
||||
GPIO.setup(PBOARD_RESET_PIN, GPIO.IN)
|
||||
GPIO.setup(PBOARD_BOOT0_PIN, GPIO.IN)
|
||||
GPIO.setup(SLAVE_REQ_PIN, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
|
||||
|
||||
def enter_dfu():
|
||||
# RESET LOW: Enter reset
|
||||
@@ -35,26 +37,48 @@ def exit_dfu():
|
||||
GPIO.setup(PBOARD_RESET_PIN, GPIO.IN)
|
||||
time.sleep(0.5)
|
||||
|
||||
if(len(sys.argv) < 2):
|
||||
print (__file__ + ' hex_file')
|
||||
def flash_firmware(fw_path):
|
||||
for x in range(5):
|
||||
print(f"----------------- {fw_path.split('/')[-1]} -----------------")
|
||||
enter_dfu()
|
||||
exit_code = os.system(f'sudo stm32flash -w {fw_path} -a 0x3b /dev/i2c-1') >> 8
|
||||
exit_dfu()
|
||||
if exit_code != 0:
|
||||
for x in range(5):
|
||||
print("!!!!!!!!!!!!!!!!! TEST FLASH FAILED !!!!!!!!!!!!!!!!!")
|
||||
exit()
|
||||
|
||||
if(len(sys.argv) < 3):
|
||||
print (__file__ + ' payload_fw test_fw')
|
||||
exit()
|
||||
|
||||
os.system("clear")
|
||||
|
||||
pcard_spi = spidev.SpiDev(0, 0)
|
||||
pcard_spi.max_speed_hz = 2000000
|
||||
|
||||
fw_path = sys.argv[1]
|
||||
for x in range(5):
|
||||
print(f"----------------- {fw_path.split('/')[-1]} -----------------")
|
||||
enter_dfu()
|
||||
exit_code = os.system(f'sudo stm32flash -w {fw_path} -a 0x3b /dev/i2c-1') >> 8
|
||||
exit_dfu()
|
||||
payload_fw_path = sys.argv[1]
|
||||
test_fw_path = sys.argv[2]
|
||||
|
||||
if exit_code != 0:
|
||||
flash_firmware(test_fw_path)
|
||||
req_result = []
|
||||
for x in range(10):
|
||||
req_result.append(GPIO.input(SLAVE_REQ_PIN))
|
||||
time.sleep(0.1)
|
||||
|
||||
print(req_result)
|
||||
|
||||
if 0 not in req_result or 1 not in req_result or req_result.count(0) <= 3 or req_result.count(1) <= 3:
|
||||
for x in range(5):
|
||||
print("!!!!!!!!!!!!!!!!! FLASH FAILED !!!!!!!!!!!!!!!!!")
|
||||
print("!!!!!!!!!!!!!!!!! SLAVE REQ ERROR !!!!!!!!!!!!!!!!!")
|
||||
exit()
|
||||
|
||||
while 1:
|
||||
if len(input("Press enter to continue\n")) == 0:
|
||||
break;
|
||||
|
||||
flash_firmware(payload_fw_path)
|
||||
|
||||
SPI_MOSI_MAGIC = 0xde
|
||||
SPI_MOSI_MSG_TYPE_INFO_REQUEST = 1
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ scp ./* pi@169.254.194.124:~/usb4vc/rpi_app
|
||||
# ssh -t pi@169.254.194.124 "pkill python3;cd ~/usb4vc/rpi_app;python3 usb4vc_main.py"
|
||||
# ssh -t pi@169.254.194.124 "pkill python3;cd ~/usb4vc/rpi_app;python3 usb4vc_check_update.py"
|
||||
|
||||
# ssh -t pi@169.254.194.124 "pkill python3;cd ~/usb4vc/rpi_app;python3 firmware_flasher.py /home/pi/usb4vc/firmware/PBFW_IBMPC_PBID1_V0_1_5.hex"
|
||||
ssh -t pi@169.254.194.124 "pkill python3;cd ~/usb4vc/rpi_app;python3 firmware_flasher.py /home/pi/usb4vc/firmware/PBFW_IBMPC_PBID1_V0_1_5.hex /home/pi/usb4vc/firmware/ibmpc_test.hex"
|
||||
# ssh -t pi@169.254.194.124 "pkill python3;cd ~/usb4vc/rpi_app;python3 bb_tester.py"
|
||||
|
||||
# pi@169.254.245.21 bb_tester
|
||||
Reference in New Issue
Block a user