Beispiel #1
0
	def upload_job(self, prog_mcu, port, blob, blob_time) :
		if blob is None :
			self.__messages.put(("status", (("upload", False, "upload_failed"),
				{ "other" : { "reason" : "no_blob"}})))
			return None

		self.__messages.put(("status", (("upload", True, "upload_started"),
			{ "other" : { "info" : (blob_time, prog_mcu, port) }})))

		rc = build.program("avrdude", port, "arduino", prog_mcu, None,
			a_hex_blob=blob,
			verbose=False,
			dry_run=False)

		if rc[0] :
#			print("programming failed ({})".format(rc[0]))
			self.__messages.put(("status", (("upload", False, "upload_failed"),
				{ "other" : { "reason" : rc[0] }})))
		else :
#			print("programming succeeded")
			self.__messages.put(("status", (("upload", True, "upload_done"), {})))
Beispiel #2
0
            (os.path.join(os.getcwd(), "library", "arduino"), False)
        ],  #TODO derive from libraries used
        boards_txt=build.BOARDS_TXT,
        #		board_db={},
        ignore_file=None,  #"amkignore",
        ignore_lines=[
            "*.cpp", "*.hpp"
        ],  #TODO remove this filter with adding cpp support to build.py
        #		prog_port=None,
        #		prog_driver="avrdude", # or "dfu-programmer"
        #		prog_adapter="arduino", #None for dfu-programmer
        optimization="-Os",
        verbose=False,
        skip_programming=True,  #False,
        #		dry_run=False,
        blob_stream=blob_stream)

    blob = blob_stream.getvalue()
    #	print blob

    board_info = w.get_board_types()[w.get_board()]
    prog_mcu = board_info["build.mcu"]
    rc = build.program("avrdude",
                       w.get_port(),
                       "arduino",
                       prog_mcu,
                       None,
                       a_hex_blob=blob,
                       verbose=True,
                       dry_run=False)
Beispiel #3
0
	rc, = build.build_source(w.get_board(), source,
		aux_src_dirs=[
			("/usr/share/arduino/hardware/arduino/cores/arduino", False),
			(os.path.join(os.getcwd(), "library", "arduino"), False)
		],#TODO derive from libraries used
		boards_txt=build.BOARDS_TXT,
#		board_db={},
		ignore_file=None,#"amkignore",
		ignore_lines=[ "*.cpp", "*.hpp" ], #TODO remove this filter with adding cpp support to build.py
#		prog_port=None,
#		prog_driver="avrdude", # or "dfu-programmer"
#		prog_adapter="arduino", #None for dfu-programmer
		optimization="-Os",
		verbose=False,
		skip_programming=True,#False,
#		dry_run=False,
		blob_stream=blob_stream)

	blob = blob_stream.getvalue()
#	print blob

	board_info = w.get_board_types()[w.get_board()]
	prog_mcu = board_info["build.mcu"]
	rc = build.program("avrdude", w.get_port(), "arduino", prog_mcu, None,
		a_hex_blob=blob,
		verbose=True,
		dry_run=False)