Add ATtiny13a board definitions, example upload code, and blink hex file.
This commit is contained in:
parent
1b62c7753a
commit
6e02697644
3 changed files with 58 additions and 0 deletions
|
|
@ -59,6 +59,14 @@ class AVRprog:
|
|||
"""
|
||||
Some well known board definitions
|
||||
"""
|
||||
ATtiny13a = {
|
||||
'name': "ATtiny13a",
|
||||
'sig': [0x1E, 0x90, 0x07],
|
||||
'flash_size': 1024,
|
||||
'page_size': 32,
|
||||
'fuse_mask': (0xFF, 0xFF, 0x00, 0x03),
|
||||
'clock_speed': 100000
|
||||
}
|
||||
ATtiny85 = {
|
||||
'name': "ATtiny85",
|
||||
'sig': [0x1E, 0x93, 0x0B],
|
||||
|
|
|
|||
6
examples/attiny13a_blink.hex
Normal file
6
examples/attiny13a_blink.hex
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
:1000000009C00EC00DC00CC00BC00AC009C008C09A
|
||||
:1000100007C006C011241FBECFE9CDBF02D012C059
|
||||
:10002000EFCF81E087BB18BA98E088B3892788BBF7
|
||||
:100030002FEF35EA8EE0215030408040E1F700C0DC
|
||||
:080040000000F3CFF894FFCF9C
|
||||
:00000001FF
|
||||
44
examples/avrprog_program_tiny13a.py
Normal file
44
examples/avrprog_program_tiny13a.py
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
"""
|
||||
ATtiny13a programming example, be sure you have the '13a wired up so:
|
||||
ATtiny13a GND to CircuitPython GND
|
||||
ATtiny13a VCC to CircuitPython USB
|
||||
Pin 2 -> CircuitPython SCK
|
||||
Pin 1 -> CircuitPython MISO
|
||||
Pin 0 -> CircuitPython MOSI
|
||||
RESET -> CircuitPython D5 (or change the init() below to change it!)
|
||||
Drag "attiny13a_blink.hex" onto the CircuitPython disk drive, then open REPL!
|
||||
"""
|
||||
|
||||
import board
|
||||
import busio
|
||||
import adafruit_avrprog
|
||||
|
||||
spi = busio.SPI(board.SCK, board.MOSI, board.MISO)
|
||||
avrprog = adafruit_avrprog.AVRprog()
|
||||
avrprog.init(spi, board.D5)
|
||||
|
||||
# Each chip has to have a definition so the script knows how to find it
|
||||
attiny13 = avrprog.Boards.ATtiny13a
|
||||
|
||||
def error(err):
|
||||
""" Helper to print out errors for us and then halt """
|
||||
print("ERROR: "+err)
|
||||
avrprog.end()
|
||||
while True:
|
||||
pass
|
||||
|
||||
while input("Ready to GO, type 'G' here to start> ") != 'G':
|
||||
pass
|
||||
|
||||
if not avrprog.verify_sig(attiny13, verbose=True):
|
||||
error("Signature read failure")
|
||||
print("Found", attiny13['name'])
|
||||
|
||||
avrprog.write_fuses(attiny13, low=0x7A, high=0xFF)
|
||||
if not avrprog.verify_fuses(attiny13, low=0x7A, high=0xFF):
|
||||
error("Failure verifying fuses!")
|
||||
|
||||
print("Programming flash from file")
|
||||
avrprog.program_file(attiny13, "attiny13a_blink.hex", verbose=True, verify=True)
|
||||
|
||||
print("Done!")
|
||||
Loading…
Reference in a new issue