cmake nuttx upload use vendor and product string

This commit is contained in:
Daniel Agar
2018-06-28 11:47:13 -04:00
committed by Lorenz Meier
parent e78b9a063f
commit ed95dced0f
+27 -7
View File
@@ -148,6 +148,7 @@ if (TARGET parameters_xml AND TARGET airframes_xml)
# upload helper # upload helper
if (${BOARD} STREQUAL "aerofc-v1") if (${BOARD} STREQUAL "aerofc-v1")
# TODO: should be set only in aero config
add_custom_target(upload add_custom_target(upload
COMMAND ${PX4_SOURCE_DIR}/Tools/aero_upload.sh ${fw_file} COMMAND ${PX4_SOURCE_DIR}/Tools/aero_upload.sh ${fw_file}
DEPENDS ${fw_file} DEPENDS ${fw_file}
@@ -155,17 +156,34 @@ if (TARGET parameters_xml AND TARGET airframes_xml)
USES_TERMINAL USES_TERMINAL
) )
else() else()
# NuttX CDCACM vendor and product strings
set(vendorstr_underscore)
set(productstr_underscore)
string(REPLACE " " "_" vendorstr_underscore ${CONFIG_CDCACM_VENDORSTR})
string(REPLACE " " "_" productstr_underscore ${CONFIG_CDCACM_PRODUCTSTR})
set(serial_ports) set(serial_ports)
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
set(px4_usb_path "${vendorstr_underscore}_${productstr_underscore}")
list(APPEND serial_ports list(APPEND serial_ports
/dev/serial/by-id/*_PX4_* # NuttX vendor + product string
/dev/serial/by-id/usb-3D_Robotics* /dev/serial/by-id/*-${px4_usb_path}*
# Bootloader
/dev/serial/by-id/*PX4_BL* # typical bootloader USB device string
/dev/serial/by-id/*BL_FMU*
# TODO: handle these per board
/dev/serial/by-id/usb-The_Autopilot* /dev/serial/by-id/usb-The_Autopilot*
/dev/serial/by-id/usb-Bitcraze* /dev/serial/by-id/usb-Bitcraze*
/dev/serial/by-id/pci-3D_Robotics*
/dev/serial/by-id/pci-Bitcraze* /dev/serial/by-id/pci-Bitcraze*
/dev/serial/by-id/usb-Gumstix* /dev/serial/by-id/usb-Gumstix*
) )
elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin")
list(APPEND serial_ports list(APPEND serial_ports
/dev/tty.usbmodemPX*,/dev/tty.usbmodem* /dev/tty.usbmodemPX*,/dev/tty.usbmodem*
@@ -180,23 +198,25 @@ if (TARGET parameters_xml AND TARGET airframes_xml)
"COM${port}") "COM${port}")
endforeach() endforeach()
endif() endif()
px4_join(OUT serial_ports LIST "${serial_ports}" GLUE ",") px4_join(OUT serial_ports LIST "${serial_ports}" GLUE ",")
add_custom_target(upload add_custom_target(upload
COMMAND ${PYTHON_EXECUTABLE} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_uploader.py --port ${serial_ports} ${fw_file}
${PX4_SOURCE_DIR}/Tools/px_uploader.py --port ${serial_ports} ${fw_file}
DEPENDS ${fw_file} DEPENDS ${fw_file}
COMMENT "uploading px4" COMMENT "uploading px4"
VERBATIM VERBATIM
USES_TERMINAL USES_TERMINAL
) )
add_custom_target(force-upload add_custom_target(force-upload
COMMAND ${PYTHON_EXECUTABLE} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_uploader.py --force --port ${serial_ports} ${fw_file}
${PX4_SOURCE_DIR}/Tools/px_uploader.py --force --port ${serial_ports} ${fw_file}
DEPENDS ${fw_file} DEPENDS ${fw_file}
COMMENT "uploading px4 with --force" COMMENT "uploading px4 with --force"
VERBATIM VERBATIM
USES_TERMINAL USES_TERMINAL
) )
endif() endif()
endif() endif()