mirror of
				https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
				synced 2025-11-03 22:31:04 +00:00 
			
		
		
		
	
		
			
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								$(dirname $0)/stlink/st-flash write "$4" 0x8000000
							 | 
						||
| 
								 | 
							
								exit 0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Remove the lines 2 and 3 (above) if you want this script to wait until the Serial device has been enumerated and loaded before the script exits
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Check for leaf device.
							 | 
						||
| 
								 | 
							
								function leaf_status()
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								this_leaf_status=$(lsusb |grep "1eaf" | awk '{ print $NF}')
							 | 
						||
| 
								 | 
							
								# Find the mode of the leaf bootloader
							 | 
						||
| 
								 | 
							
								case $this_leaf_status in
							 | 
						||
| 
								 | 
							
								   "1eaf:0003")
							 | 
						||
| 
								 | 
							
								      echo "dfu"
							 | 
						||
| 
								 | 
							
								   ;;
							 | 
						||
| 
								 | 
							
								   "1eaf:0004")
							 | 
						||
| 
								 | 
							
								      echo "ttyACMx"
							 | 
						||
| 
								 | 
							
								   ;;
							 | 
						||
| 
								 | 
							
								   *)
							 | 
						||
| 
								 | 
							
								      #echo "$this_leaf_status"
							 | 
						||
| 
								 | 
							
								      echo "unknown"
							 | 
						||
| 
								 | 
							
								   ;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# You will need the usb-reset code, see https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Using-a-generic-stm32-board-on-linux-with-Maple-bootloader
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								USBRESET=$(which usb-reset) || USBRESET="./usb-reset"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Check to see if a maple compatible board is attached
							 | 
						||
| 
								 | 
							
								LEAF_STATUS=$(leaf_status)
							 | 
						||
| 
								 | 
							
								echo "USB Status [$LEAF_STATUS]"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$(dirname $0)/stlink/st-flash write "$4" 0x8000000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sleep 4
							 | 
						||
| 
								 | 
							
								# Reset the usb device to bring up the tty rather than DFU
							 | 
						||
| 
								 | 
							
								"$USBRESET" "/dev/bus/usb/$(lsusb |grep "1eaf" |awk '{print $2,$4}'|sed 's/\://g'|sed 's/ /\//g')" >/dev/null 2>&1
							 | 
						||
| 
								 | 
							
								# Check to see if a maple compatible board is attached
							 | 
						||
| 
								 | 
							
								LEAF_STATUS=$(leaf_status)
							 | 
						||
| 
								 | 
							
								echo "USB Status [$LEAF_STATUS]"
							 | 
						||
| 
								 | 
							
								# Check to see if the tty came up
							 | 
						||
| 
								 | 
							
								TTY_DEV=$(find /dev -cmin -2 |grep ttyAC)
							 | 
						||
| 
								 | 
							
								echo -e "Waiting for tty device $TTY_DEV \n"
							 | 
						||
| 
								 | 
							
								sleep 20
							 | 
						||
| 
								 | 
							
								echo -e "$TTY_DEV should now be available.\n"
							 | 
						||
| 
								 | 
							
								exit 0
							 | 
						||
| 
								 | 
							
								
							 |