|
3 | 3 | import teensytoany
|
4 | 4 |
|
5 | 5 |
|
| 6 | +def teensytoany_programmer( |
| 7 | + serial_number=None, |
| 8 | + mcu='TEENSY40', |
| 9 | + firmware_version=None, |
| 10 | + firmware_variant=None, |
| 11 | + download_only=False |
| 12 | +): |
| 13 | + """Program a Teensy device with a given firmware version""" |
| 14 | + variant_str = f"variant {firmware_variant} of " if firmware_variant else "" |
| 15 | + if download_only: |
| 16 | + for mcu_to_download in ['TEENSY40', 'TEENSY32']: |
| 17 | + if firmware_version is None: |
| 18 | + firmware_version = teensytoany.TeensyToAny.get_latest_available_firmware_version( |
| 19 | + mcu=mcu_to_download, online=True, local=False |
| 20 | + ) |
| 21 | + print( |
| 22 | + f"Downloading {variant_str} firmware version {firmware_version} " |
| 23 | + f"for {mcu_to_download}." |
| 24 | + ) |
| 25 | + teensytoany.TeensyToAny.download_firmware( |
| 26 | + mcu=mcu_to_download, |
| 27 | + version=firmware_version, |
| 28 | + variant=firmware_variant |
| 29 | + ) |
| 30 | + return |
| 31 | + |
| 32 | + print('Programming please wait...') |
| 33 | + teensytoany.TeensyToAny.program_firmware( |
| 34 | + serial_number, |
| 35 | + mcu=mcu, |
| 36 | + version=firmware_version, |
| 37 | + variant=firmware_variant |
| 38 | + ) |
| 39 | + with teensytoany.TeensyToAny(serial_number) as teensy: |
| 40 | + print(f"TeensyToAny version: {teensy.version}") |
| 41 | + print(f"TeensyToAny variant: {firmware_variant}") |
| 42 | + print(f"TeensyToAny serial_number: {teensy.serial_number}") |
| 43 | + |
| 44 | + |
6 | 45 | @click.command(epilog=f"Version {teensytoany.__version__}")
|
7 | 46 | @click.option(
|
8 | 47 | '--serial-number',
|
|
40 | 79 | )
|
41 | 80 | # Make the epligue print the version
|
42 | 81 | @click.version_option(teensytoany.__version__)
|
43 |
| -def teensytoany_programmer( |
| 82 | +def main( |
44 | 83 | serial_number=None,
|
45 | 84 | mcu='TEENSY40',
|
46 | 85 | firmware_version=None,
|
47 | 86 | firmware_variant=None,
|
48 | 87 | download_only=False
|
49 | 88 | ):
|
50 | 89 | """Program a Teensy device with a given firmware version"""
|
51 |
| - variant_str = f"variant {firmware_variant} of " if firmware_variant else "" |
52 |
| - if download_only: |
53 |
| - for mcu_to_download in ['TEENSY40', 'TEENSY32']: |
54 |
| - if firmware_version is None: |
55 |
| - firmware_version = teensytoany.TeensyToAny.get_latest_available_firmware_version( |
56 |
| - mcu=mcu_to_download, online=True, local=False |
57 |
| - ) |
58 |
| - print( |
59 |
| - f"Downloading {variant_str} firmware version {firmware_version} " |
60 |
| - f"for {mcu_to_download}." |
61 |
| - ) |
62 |
| - teensytoany.TeensyToAny.download_firmware( |
63 |
| - mcu=mcu_to_download, |
64 |
| - version=firmware_version, |
65 |
| - variant=firmware_variant |
66 |
| - ) |
67 |
| - return |
68 |
| - |
69 |
| - print('Programming please wait...') |
70 |
| - teensytoany.TeensyToAny.program_firmware( |
71 |
| - serial_number, |
| 90 | + click.echo( |
| 91 | + "WARNING: teensytoany_programmer is deprecated. Use 'teensytoany programmer' instead.", |
| 92 | + err=True |
| 93 | + ) |
| 94 | + # pylint: disable=duplicate-code |
| 95 | + teensytoany_programmer( |
| 96 | + serial_number=serial_number, |
72 | 97 | mcu=mcu,
|
73 |
| - version=firmware_version, |
74 |
| - variant=firmware_variant |
| 98 | + firmware_version=firmware_version, |
| 99 | + firmware_variant=firmware_variant, |
| 100 | + download_only=download_only |
75 | 101 | )
|
76 |
| - with teensytoany.TeensyToAny(serial_number) as teensy: |
77 |
| - print(f"TeensyToAny version: {teensy.version}") |
78 |
| - print(f"TeensyToAny variant: {firmware_variant}") |
79 |
| - print(f"TeensyToAny serial_number: {teensy.serial_number}") |
80 | 102 |
|
81 | 103 |
|
82 | 104 | if __name__ == '__main__':
|
83 |
| - teensytoany_programmer() |
| 105 | + main() |
0 commit comments