Many libraries are upgraded in examples/upgrademany.py, this can be started:
python -m confduino.examples.upgrademany
Code:
from confduino import exampallcreate
from confduino.libinstall import install_lib
from confduino.util import ConfduinoError
from entrypoint2 import entrypoint
@entrypoint
def upgrade_many(upgrade=True, create_examples_all=True):
'''upgrade many libs
source: http://arduino.cc/playground/Main/LibraryList
you can set your arduino path if it is not default
os.environ['ARDUINO_HOME'] = '/home/...'
'''
urls = set()
def inst(url):
print 'upgrading ' + url
assert url not in urls
urls.add(url)
try:
lib = install_lib(url, upgrade)
print ' -> ', lib
except Exception as e:
print e
############################
# github.com
############################
inst('https://github.com/madsci1016/Arduino-EasyTransfer/zipball/master')
inst('https://github.com/sparkfun/SevSeg/zipball/master')
inst('https://github.com/madsci1016/Arduino-SoftEasyTransfer/zipball/master')
inst('https://github.com/madsci1016/Arduino-PS2X/zipball/master')
# inst('http://github.com/wimleers/flexitimer2/zipball/v1.0')# can't install
inst('https://github.com/kerinin/arduino-splines/zipball/master')
inst('https://github.com/asynclabs/WiShield/zipball/master')
inst('https://github.com/asynclabs/dataflash/zipball/master')
inst('https://github.com/slugmobile/AtTouch/zipball/master')
inst('https://github.com/carlynorama/Arduino-Library-Button/zipball/master')
inst('https://github.com/carlynorama/Arduino-Library-FancyLED/zipball/master')
inst('https://github.com/markfickett/arduinomorse/zipball/master')
inst('https://github.com/rocketscream/Low-Power/zipball/master')
############################
# arduiniana.org
############################
# TODO: how to get latest version??
inst('http://arduiniana.org/PString/PString2.zip')
inst('http://arduiniana.org/Flash/Flash3.zip')
inst('http://arduiniana.org/NewSoftSerial/NewSoftSerial10c.zip')
inst('http://arduiniana.org/Streaming/Streaming4.zip')
inst('http://arduiniana.org/PWMServo/PWMServo.zip')
inst('http://arduiniana.org/TinyGPS/TinyGPS10.zip')
############################
# google
############################
# TODO: how to get latest version??
# parse http://code.google.com/p/arduino-pinchangeint/downloads/list
# simplified version in core
inst('http://rogue-code.googlecode.com/files/Arduino-Library-Tone.zip')
inst('http://arduino-playground.googlecode.com/files/LedDisplay03.zip')
inst('http://sserial2mobile.googlecode.com/files/SSerial2Mobile-1.1.0.zip')
inst('http://webduino.googlecode.com/files/webduino-1.4.1.zip')
inst('http://arduino-pid-library.googlecode.com/files/PID_v1.0.1.zip')
inst('http://ideoarduinolibraries.googlecode.com/files/Qtouch1Wire.zip')
inst('http://arduino-timerone.googlecode.com/files/TimerOne-v8.zip')
inst('http://arduinounit.googlecode.com/files/arduinounit-1.4.2.zip')
inst('http://arduinode.googlecode.com/files/arduinode_0.1.zip')
inst('http://arduino-edb.googlecode.com/files/EDB_r7.zip')
inst('http://arduino-dblib.googlecode.com/files/DB.zip')
inst('http://morse-endecoder.googlecode.com/files/Morse_EnDecoder_2010.12.06.tar.gz')
inst('http://arduino-pinchangeint.googlecode.com/files/PinChangeInt.zip')
inst('http://arduino-tvout.googlecode.com/files/TVout_R5.91.zip')
inst('http://narcoleptic.googlecode.com/files/Narcoleptic_v1a.zip')
############################
# others
############################
inst('http://download.milesburton.com/Arduino/MaximTemperature/DallasTemperature_370Beta.zip')
inst('http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip')
# too big
# inst('http://www.state-machine.com/arduino/qp_arduino.zip')
inst('http://www.shikadi.net/files/arduino/SerialIP-1.0.zip')
inst('http://siggiorn.com/wp-content/uploads/libraries/ArduinoByteBuffer.zip')
inst('http://siggiorn.com/wp-content/uploads/libraries/ArduinoSerialManager.zip')
inst('http://arduino-tweet.appspot.com/Library-Twitter-1.2.2.zip')
# can't install
# inst('http://gkaindl.com/php/download.php?key=ArduinoEthernet')
inst('http://sebastian.setz.name/wp-content/uploads/2011/01/multiCameraIrControl_1-5.zip')
inst('http://www.pjrc.com/teensy/arduino_libraries/FrequencyTimer2.zip')
inst('http://alexandre.quessy.net/static/avr/Tween_01.zip')
inst('http://www.lpelettronica.it/images/stories/LPM11162_images/Arduino/LPM11162_ArduinoLib_v1.zip')
# inst('http://nootropicdesign.com/hackvision/downloads/Controllers.zip')
inst('http://interface.khm.de/wp-content/uploads/2009/01/FreqCounter_1_12.zip')
############################
# arduino.cc
############################
inst('http://arduino.cc/playground/uploads/Main/PS2Keyboard002.zip')
inst('http://arduino.cc/playground/uploads/Code/Metro.zip')
inst('http://www.arduino.cc/playground/uploads/Main/MsTimer2.zip')
# can't install
# inst('http://www.arduino.cc/playground/uploads/Code/Time.zip')
inst('http://arduino.cc/playground/uploads/Main/LedControl.zip')
# can't install
# inst('http://www.arduino.cc/playground/uploads/Code/ks0108GLCD.zip')#
inst('http://arduino.cc/playground/uploads/Code/Bounce.zip')
inst('http://arduino.cc/playground/uploads/Main/CapacitiveSense003.zip')
inst('http://arduino.cc/playground/uploads/Main/PinChangeInt.zip')
# can't install
# inst('http://arduino.cc/playground/uploads/Code/TimerThree.zip')
inst('http://arduino.cc/playground/uploads/Code/TimedAction-1_6.zip')
# can't install
# inst('http://www.arduino.cc/playground/uploads/Code/Time.zip')
inst('http://arduino.cc/playground/uploads/Code/EventFuse.zip')
inst('http://arduino.cc/playground/uploads/Code/Charlieplex.zip')
inst('http://arduino.cc/playground/uploads/Code/DigitalToggle.zip')
inst('http://arduino.cc/playground/uploads/Code/Enerlib.zip')
inst('http://arduino.cc/playground/uploads/Code/AdvButton_11.zip')
# old version
# inst('http://arduino.cc/playground/uploads/Code/AdvButton.zip')
# can't install
# inst('http://arduino.cc/playground/uploads/Code/SerialDebugger.zip') #
inst('http://arduino.cc/playground/uploads/Code/MatrixMath.zip')
inst('http://arduino.cc/playground/uploads/Code/StackArray.zip')
inst('http://arduino.cc/playground/uploads/Code/StackList.zip')
inst('http://arduino.cc/playground/uploads/Code/QueueArray.zip')
inst('http://arduino.cc/playground/uploads/Code/QueueList.zip')
inst('http://arduino.cc/playground/uploads/Code/Ping-1_3.zip')
inst('http://www.arduino.cc/playground/uploads/Code/LED.zip')
# inst('')
if create_examples_all:
print 'create "all" menu item'
exampallcreate.create_examples_all()
print 'install finished'
python -m confduino.examples.usbasp
Code:
from confduino.proginstall import install_programmer
from confduino.util import AutoBunch
from entrypoint2 import entrypoint
@entrypoint
def install(replace_existing=False):
'install usbasp programmer'
usbasp = AutoBunch()
usbasp.name = 'USBasp'
usbasp.communication = 'usb'
usbasp.protocol = 'usbasp'
install_programmer('usbasp', usbasp, replace_existing=replace_existing)
python -m confduino.examples.stk200
Code:
from confduino.proginstall import install_programmer
from confduino.util import AutoBunch
from entrypoint2 import entrypoint
@entrypoint
def install(replace_existing=False):
'install stk200 programmer'
bunch = AutoBunch()
bunch.name = 'STK200'
bunch.protocol = 'stk200'
# bunch.force = 'true'
# bunch.delay=200
install_programmer('stk200', bunch, replace_existing=replace_existing)
python -m confduino.examples.atmega88
Code:
from confduino.boardinstall import install_board
from confduino.util import AutoBunch
from entrypoint2 import entrypoint
TEMPL = '{mcu}@{f_cpu} programmer:{upload}'
@entrypoint
def install(
board_id='atmega88',
mcu='atmega88',
f_cpu=20000000,
upload='usbasp',
core='arduino',
replace_existing=True,
):
'install atmega88 board'
board = AutoBunch()
board.name = TEMPL.format(mcu=mcu, f_cpu=f_cpu, upload=upload)
board.upload.using = upload
board.upload.maximum_size = 8 * 1024
board.build.mcu = mcu
board.build.f_cpu = str(f_cpu) + 'L'
board.build.core = core
# for 1.0
board.build.variant = 'standard'
install_board(board_id, board, replace_existing=replace_existing)
options:
$ python -m confduino.examples.atmega88 --help
usage: atmega88.py [-h] [-b BOARD_ID] [-m MCU] [-f F_CPU] [-u UPLOAD]
[-c CORE] [-r] [--debug]
install atmega88 board
optional arguments:
-h, --help show this help message and exit
-b BOARD_ID, --board-id BOARD_ID
-m MCU, --mcu MCU
-f F_CPU, --f-cpu F_CPU
-u UPLOAD, --upload UPLOAD
-c CORE, --core CORE
-r, --replace-existing
--debug set logging level to DEBUG
$ python -m confduino.examples.remove_boards
$ python -m confduino.examples.remove_boards --hwpack arduino
Code:
from confduino.boardlist import boards, boards_txt, board_names
from confduino.boardremove import remove_board
from confduino.hwpacklist import hwpack_names
from entrypoint2 import entrypoint
import psidialogs
@entrypoint
def remove_boards_gui(hwpack=''):
'remove boards by GUI'
if not hwpack:
if len(hwpack_names()) > 1:
hwpack = psidialogs.choice(hwpack_names(),
'select hardware package to select board from!',
title='select')
else:
hwpack = hwpack_names()[0]
print hwpack, 'selected'
if hwpack:
sel = psidialogs.multi_choice(board_names(hwpack),
'select boards to remove from %s!' % boards_txt(hwpack),
title='remove boards')
print sel, 'selected'
if sel:
for x in sel:
remove_board(x)
print x + ' was removed'
$ python -m confduino.examples.remove_libraries
Code:
from confduino.liblist import libraries, libraries_dir
from confduino.libremove import remove_lib
from entrypoint2 import entrypoint
import psidialogs
@entrypoint
def gui():
'remove libraries by GUI'
sel = psidialogs.multi_choice(libraries(),
'select libraries to remove from %s!' % libraries_dir(),
title='remove boards')
print sel, 'selected'
if sel:
if psidialogs.ask_yes_no('Do you really want to remove selected libraries?\n' + '\n'.join(sel)):
for x in sel:
remove_lib(x)
print x + ' was removed'