From 9920c6e2bdd985f0ae7828806f20342bfc5ea3ff Mon Sep 17 00:00:00 2001 From: Miro Hrončok Date: Sep 27 2022 13:29:47 +0000 Subject: Retired: Fails to install See https://pagure.io/releng/issue/11052 --- diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4a406bf..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -*~ -*.rpm -*.tar* -results_*/ diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..d0fde9a --- /dev/null +++ b/dead.package @@ -0,0 +1,3 @@ +Retired: Fails to install + +See https://pagure.io/releng/issue/11052 diff --git a/python-evic-0.1-all_PRs.patch b/python-evic-0.1-all_PRs.patch deleted file mode 100644 index 2d65681..0000000 --- a/python-evic-0.1-all_PRs.patch +++ /dev/null @@ -1,900 +0,0 @@ -From 8aceef59a63536ff7cfe2e8ae5c7660970aa2589 Mon Sep 17 00:00:00 2001 -From: ClockSelect -Date: Sun, 21 Aug 2016 05:44:39 +0200 -Subject: [PATCH 01/11] New commands for myevic - ---- - README.rst | 30 ++++++++++++++ - evic/cli.py | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - evic/dataflash.py | 7 ++++ - evic/device.py | 30 +++++++++++++- - 4 files changed, 184 insertions(+), 2 deletions(-) - -diff --git a/README.rst b/README.rst -index 3e426d1..eb71212 100644 ---- a/README.rst -+++ b/README.rst -@@ -125,3 +125,33 @@ Use ``--no-verify`` to disable verification for APROM or data flash. To disable - :: - - $ evic-usb upload --no-verify aprom --no-verify dataflash firmware.bin -+ -+Reset the device: -+ -+:: -+ -+ $ evic-usb reset -+ -+Dump any part of the flash memory: -+ -+:: -+ -+ $ evic-usb fmc-read -o out.bin -s startaddr -l length -+ -+Example to read the parameters flash memory: -+ -+:: -+ -+ $ evic-usb fmc-read -o out.bin -s 122880 -l 4096 -+ -+Setup date and time of the device to the current time: -+ -+:: -+ -+ $ evic-usb time -+ -+Take a screenshot of the device display: -+ -+:: -+ -+ $ evic-usb screenshot -o outfile.[png|jpg|...] -diff --git a/evic/cli.py b/evic/cli.py -index 9d81038..95d02c0 100644 ---- a/evic/cli.py -+++ b/evic/cli.py -@@ -24,6 +24,8 @@ - import struct - from time import sleep - from contextlib import contextmanager -+from datetime import datetime -+from PIL import Image - - import click - -@@ -31,6 +33,7 @@ - - from .device import DeviceInfo - -+ - @contextmanager - def handle_exceptions(*exceptions): - """Context for handling exceptions.""" -@@ -108,6 +111,24 @@ def read_dataflash(dev, verify): - return dataflash - - -+def fmc_read(dev, start, len): -+ """Reads the device data flash. -+ -+ Args: -+ dev: evic.HIDTransfer object. -+ -+ Returns: -+ evic.DataFlash object containing the device data flash. -+ """ -+ -+ # Read the data flash -+ with handle_exceptions(IOError): -+ click.echo("Reading data flash...", nl=False) -+ fmemory = dev.fmc_read(start, len) -+ -+ return fmemory -+ -+ - def print_device_info(device_info, dataflash): - """Prints the device information found from data flash. - -@@ -237,6 +258,57 @@ def upload(inputfile, encrypted, dataflashfile, noverify): - dev.write_aprom(aprom) - - -+@usb.command('reset') -+def reset(): -+ """Resets the device.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Restart -+ click.echo("Restarting the device...", nl=False) -+ dev.reset() -+ sleep(2) -+ click.secho("OK", fg='green', nl=False, bold=True) -+ -+ -+@usb.command('time') -+def time(): -+ """Sets the device date/time to now.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Read the data flash -+ dataflash = read_dataflash(dev, 1) -+ -+ # Get the device info -+ device_info = dev.devices.get(dataflash.product_id, -+ DeviceInfo("Unknown device", None, None)) -+ -+ # Print the device information -+ print_device_info(device_info, dataflash) -+ -+ dt = datetime.now() -+ dataflash.df_year = dt.year -+ dataflash.df_month = dt.month -+ dataflash.df_day = dt.day -+ dataflash.df_hour = dt.hour -+ dataflash.df_minute = dt.minute -+ dataflash.df_second = dt.second -+ -+ # Write data flash to the device -+ with handle_exceptions(IOError): -+ click.echo("Writing data flash...", nl=False) -+ sleep(0.1) -+ dev.write_dataflash(dataflash) -+ click.secho("OK", fg='green', bold=True) -+ -+ - @usb.command('upload-logo') - @click.argument('inputfile', type=click.File('rb')) - @click.option('--invert', '-i', is_flag=True, -@@ -329,6 +401,7 @@ def dumpdataflash(output, noverify): - device_info = dev.devices.get(dataflash.product_id, - DeviceInfo("Unknown device", None, None)) - -+ - # Print the device information - print_device_info(device_info, dataflash) - -@@ -338,6 +411,52 @@ def dumpdataflash(output, noverify): - output.write(dataflash.array) - - -+@usb.command('fmcread') -+@click.option('--output', '-o', type=click.File('wb'), required=True) -+@click.option('--start', '-s', type=click.INT, required=True) -+@click.option('--length', '-l', type=click.INT, required=True) -+def fmcread(output, start, length): -+ """Write device flash memory to a file.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Print the USB info of the device -+ print_usb_info(dev) -+ -+ # Read the data flash -+ fmemory = fmc_read(dev, start, length) -+ -+ # Write the data flash to the file -+ with handle_exceptions(IOError): -+ click.echo("Writing flash memory to the file...", nl=False) -+ output.write(fmemory) -+ -+ -+@usb.command('screenshot') -+@click.option('--output', '-o', type=click.File('wb'), required=True) -+def screenshot(output): -+ """Take a screenshot.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Read the screen data -+ data = dev.read_screen() -+ -+ # create the image from screen data -+ im = Image.fromstring("1",(64,128),bytes(data)) -+ -+ # Write the image to the file -+ with handle_exceptions(IOError): -+ click.echo("Writing image to the file...", nl=False) -+ im.save(output,"PNG") -+ -+ - @usb.command('reset-dataflash') - def resetdataflash(): - """Reset device data flash.""" -diff --git a/evic/dataflash.py b/evic/dataflash.py -index 31abb2a..0c61651 100644 ---- a/evic/dataflash.py -+++ b/evic/dataflash.py -@@ -46,6 +46,13 @@ class DataFlash(binstruct.StructTemplate): - fw_version = binstruct.Int32Field(256) - ldrom_version = binstruct.Int32Field(260) - -+ df_year = binstruct.Int16Field(320) -+ df_month = binstruct.Int8Field(322) -+ df_day = binstruct.Int8Field(323) -+ df_hour = binstruct.Int8Field(324) -+ df_minute = binstruct.Int8Field(325) -+ df_second = binstruct.Int8Field(326) -+ - def verify(self, checksum): - """Verifies the data flash against given checksum. - -diff --git a/evic/device.py b/evic/device.py -index 383c234..6ba39a4 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -53,7 +53,6 @@ class HIDTransfer(object): - 'E052': DeviceInfo("eVic-VTC Mini", ['W007'], (64, 40)), - 'E056': DeviceInfo("CUBOID MINI", None, (64, 40)), - 'E060': DeviceInfo("Cuboid", None, (64, 40)), -- 'E079': DeviceInfo("eVic VTC Dual", None, (64, 40)), - 'E083': DeviceInfo("eGrip II", None, (64, 40)), - 'E092': DeviceInfo("eVic AIO", None, (64, 40)), - 'E115': DeviceInfo("eVic VTwo mini", None, (64, 40)), -@@ -70,7 +69,6 @@ class HIDTransfer(object): - 'W014': DeviceInfo("Reuleaux RX200", None, None), - 'W016': DeviceInfo("CENTURION", None, None), - 'W018': DeviceInfo("Reuleaux RX2/3", None, (64, 48)), -- 'W026': DeviceInfo("Reuleaux RX75", None, (64, 48)), - 'W033': DeviceInfo("Reuleaux RX200S", None, None) - } - -@@ -163,6 +161,34 @@ def read_dataflash(self): - - return (dataflash, checksum) - -+ def fmc_read(self, start, length): -+ """Reads the device flash memory. -+ -+ Returns: -+ An array containing the data flash memory content. -+ """ -+ -+ # Send the command for reading the data flash -+ self.send_command(0xC0, start, length) -+ -+ # Read the dataflash -+ buf = self.read(length) -+ return (buf) -+ -+ def read_screen(self): -+ """Reads the screen memory. -+ -+ Returns: -+ An array containing the screen. -+ """ -+ -+ # Send the command for reading the screen buffer -+ self.send_command(0xC1, 0, 0x400) -+ -+ # Read the data -+ buf = self.read(0x400) -+ return (buf) -+ - def write(self, data): - """Writes data to the device. - - -From 8a929790b971bad8bd2d40568db9b2609aa09f63 Mon Sep 17 00:00:00 2001 -From: ClockSelect -Date: Sun, 4 Sep 2016 10:53:51 +0200 -Subject: [PATCH 02/11] Logo dimensions for Presa 75 running myevic firmware - ---- - evic/device.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/evic/device.py b/evic/device.py -index 6ba39a4..33be1b5 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -62,7 +62,7 @@ class HIDTransfer(object): - 'M041': DeviceInfo("iStick Pico", None, (96, 16)), - 'M045': DeviceInfo("iStick Pico Mega", None, (96, 16)), - 'M046': DeviceInfo("iPower", None, (96, 16)), -- 'W007': DeviceInfo("Presa TC75W", ['E052'], None), -+ 'W007': DeviceInfo("Presa TC75W", ['E052'], (64,40)), - 'W010': DeviceInfo("Classic", None, None), - 'W011': DeviceInfo("Lite", None, None), - 'W013': DeviceInfo("Stout", None, None), - -From 6b6368e0af4ce2a52448c3733c5caf8190716b83 Mon Sep 17 00:00:00 2001 -From: ClockSelect -Date: Wed, 7 Sep 2016 13:05:44 +0200 -Subject: [PATCH 03/11] Fix time accuracy - ---- - evic/cli.py | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/evic/cli.py b/evic/cli.py -index 95d02c0..9d774bd 100644 ---- a/evic/cli.py -+++ b/evic/cli.py -@@ -293,18 +293,17 @@ def time(): - # Print the device information - print_device_info(device_info, dataflash) - -- dt = datetime.now() -- dataflash.df_year = dt.year -- dataflash.df_month = dt.month -- dataflash.df_day = dt.day -- dataflash.df_hour = dt.hour -- dataflash.df_minute = dt.minute -- dataflash.df_second = dt.second -- - # Write data flash to the device - with handle_exceptions(IOError): - click.echo("Writing data flash...", nl=False) - sleep(0.1) -+ dt = datetime.now() -+ dataflash.df_year = dt.year -+ dataflash.df_month = dt.month -+ dataflash.df_day = dt.day -+ dataflash.df_hour = dt.hour -+ dataflash.df_minute = dt.minute -+ dataflash.df_second = dt.second - dev.write_dataflash(dataflash) - click.secho("OK", fg='green', bold=True) - - -From c56807c6586b6bf8e556314e6bdfcb81bd4b54c8 Mon Sep 17 00:00:00 2001 -From: ClockSelect -Date: Sat, 8 Oct 2016 05:03:12 +0200 -Subject: [PATCH 04/11] Generic HID input command and LDROM update feature - ---- - evic/cli.py | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - evic/device.py | 34 ++++++++++++++++++++++++++ - 2 files changed, 110 insertions(+) - -diff --git a/evic/cli.py b/evic/cli.py -index 9d774bd..607e97d 100644 ---- a/evic/cli.py -+++ b/evic/cli.py -@@ -129,6 +129,24 @@ def fmc_read(dev, start, len): - return fmemory - - -+def hid_command(dev, cmd, start, len): -+ """Sends a HID command. -+ -+ Args: -+ dev: evic.HIDTransfer object. -+ -+ Returns: -+ evic.DataFlash object containing the device data flash. -+ """ -+ -+ # Send the command -+ with handle_exceptions(IOError): -+ click.echo("Sending command...", nl=False) -+ fmemory = dev.hid_command(cmd, start, len) -+ -+ return fmemory -+ -+ - def print_device_info(device_info, dataflash): - """Prints the device information found from data flash. - -@@ -258,6 +276,39 @@ def upload(inputfile, encrypted, dataflashfile, noverify): - dev.write_aprom(aprom) - - -+@usb.command('upload-ldrom') -+@click.argument('inputfile', type=click.File('rb')) -+def upload_ldrom(inputfile): -+ """Upload an LDROM image to the device.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Print the USB info of the device -+ print_usb_info(dev) -+ -+ # Read the data flash -+ dataflash = read_dataflash(dev, False) -+ -+ # Get the device info -+ device_info = dev.devices.get(dataflash.product_id, -+ DeviceInfo("Unknown device", None, None)) -+ -+ # Print the device information -+ print_device_info(device_info, dataflash) -+ -+ # Read the LDROM image -+ ldrom = evic.APROM(inputfile.read()) -+ -+ # Write data flash to the device -+ with handle_exceptions(IOError): -+ # Write LDROM to the device -+ click.echo("Writing LDROM...", nl=False) -+ dev.write_ldrom(ldrom) -+ -+ - @usb.command('reset') - def reset(): - """Resets the device.""" -@@ -434,6 +485,31 @@ def fmcread(output, start, length): - output.write(fmemory) - - -+@usb.command('hidcmd') -+@click.option('--output', '-o', type=click.File('wb'), required=True) -+@click.option('--command', '-c', type=click.INT, required=True) -+@click.option('--start', '-s', type=click.INT, required=True) -+@click.option('--length', '-l', type=click.INT, required=True) -+def hidcmd(command, output, start, length): -+ """Send a HID command to the device.""" -+ -+ dev = evic.HIDTransfer() -+ -+ # Connect the device -+ connect(dev) -+ -+ # Print the USB info of the device -+ print_usb_info(dev) -+ -+ # Send the command -+ response = hid_command(dev, command, start, length) -+ -+ # Write the data flash to the file -+ with handle_exceptions(IOError): -+ click.echo("Writing command response to the file...", nl=False) -+ output.write(response) -+ -+ - @usb.command('screenshot') - @click.option('--output', '-o', type=click.File('wb'), required=True) - def screenshot(output): -diff --git a/evic/device.py b/evic/device.py -index 33be1b5..7f27e8f 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -175,6 +175,20 @@ def fmc_read(self, start, length): - buf = self.read(length) - return (buf) - -+ def hid_command(self, cmd, start, length): -+ """Send a HID command to the device. -+ -+ Returns: -+ An array containing command response. -+ """ -+ -+ # Send the command for reading the data flash -+ self.send_command(cmd, start, length) -+ -+ # Read the response -+ buf = self.read(length) -+ return (buf) -+ - def read_screen(self): - """Reads the screen memory. - -@@ -294,6 +308,17 @@ def write_flash(self, data, start): - - self.write(data) - -+ def write_ldflash(self, data): -+ """Writes data to the flash memory. -+ """ -+ -+ end = len(data) -+ -+ # Send the command for writing the data -+ self.send_command(0x3C, 0x100000, end) -+ -+ self.write(data) -+ - def write_aprom(self, aprom): - """Writes the APROM to the device. - -@@ -303,6 +328,15 @@ def write_aprom(self, aprom): - - self.write_flash(aprom.data, 0) - -+ def write_ldrom(self, ldrom): -+ """Writes the LDROM to the device. -+ -+ Args: -+ aprom: A BinFile object containing an unencrypted LDROM image. -+ """ -+ -+ self.write_ldflash(ldrom.data) -+ - def write_logo(self, logo): - """Writes the logo to the the device. - - -From d30ce886d0ce4fae6eb6cfe7695d64838fe0d70f Mon Sep 17 00:00:00 2001 -From: ClockSelect -Date: Mon, 24 Jul 2017 22:40:25 +0200 -Subject: [PATCH 05/11] Add devices VTC Dual & Primo Mini - ---- - evic/device.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/evic/device.py b/evic/device.py -index 7f27e8f..a5764b7 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -56,7 +56,9 @@ class HIDTransfer(object): - 'E083': DeviceInfo("eGrip II", None, (64, 40)), - 'E092': DeviceInfo("eVic AIO", None, (64, 40)), - 'E115': DeviceInfo("eVic VTwo mini", None, (64, 40)), -+ 'E079': DeviceInfo("eVic VTC Dual", None, (64, 40)), - 'E150': DeviceInfo("eVic Basic", None, (64, 40)), -+ 'E196': DeviceInfo("eVic Primo Mini", None, (64, 40)), - 'M011': DeviceInfo("iStick TC100W", None, None), - 'M037': DeviceInfo("ASTER", None, (96, 16)), - 'M041': DeviceInfo("iStick Pico", None, (96, 16)), - -From 928f39032e6d2a16a35186d1632b77d63b62ba5c Mon Sep 17 00:00:00 2001 -From: Timofey Titovets -Date: Sun, 22 Jan 2017 16:02:35 +0300 -Subject: [PATCH 06/11] Notes about autosync time on device - -Signed-off-by: Timofey Titovets ---- - README.rst | 5 +++++ - scripts/evic-usb-rtc-sync.service | 6 ++++++ - udev/99-nuvoton-hid.rules | 3 +++ - 3 files changed, 14 insertions(+) - create mode 100644 scripts/evic-usb-rtc-sync.service - -diff --git a/README.rst b/README.rst -index eb71212..2948b43 100644 ---- a/README.rst -+++ b/README.rst -@@ -79,6 +79,11 @@ Allowing non-root access to the device - - The file ``udev/99-nuvoton-hid.rules`` contains an example set of rules for setting the device permissions to ``0666``. Copy the file to the directory ``/etc/udev/rules.d/`` to use it. - -+Autosync time when device connected -+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -+ -+The file ``scripts/evic-usb-rtc-sync.service`` + ``udev/99-nuvoton-hid.rules`` is a example of how to auto sync time -+ - Usage - ------- - See ``--help`` for more information on a given command. -diff --git a/scripts/evic-usb-rtc-sync.service b/scripts/evic-usb-rtc-sync.service -new file mode 100644 -index 0000000..e756dd2 ---- /dev/null -+++ b/scripts/evic-usb-rtc-sync.service -@@ -0,0 +1,6 @@ -+[Unit] -+Description=Evic RTC sync -+ -+[Service] -+ExecStart=/bin/bash -c 'lsusb -d 0416:5020 && evic-usb time' -+RemainAfterExit=yes -diff --git a/udev/99-nuvoton-hid.rules b/udev/99-nuvoton-hid.rules -index 0ee1b6f..6c6a9bb 100644 ---- a/udev/99-nuvoton-hid.rules -+++ b/udev/99-nuvoton-hid.rules -@@ -3,3 +3,6 @@ SUBSYSTEM=="usb", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5020", MODE="0666" - - # HIDAPI/hidraw - KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5020", MODE="0666" -+ -+# HIDAPI/libusb RTC Sync -+ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5020", RUN+="/usr/bin/systemctl restart evic-usb-rtc-sync" - -From 5d30503fad0d7b4deac8c5b20020461420c1eacc Mon Sep 17 00:00:00 2001 -From: Thomas Spigel -Date: Sat, 7 Jan 2017 10:19:31 +0100 -Subject: [PATCH 07/11] Added support for Wismec Presa 100W, with logo upload - support 64x40 - ---- - evic/device.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/evic/device.py b/evic/device.py -index a5764b7..ca8eeae 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -65,6 +65,7 @@ class HIDTransfer(object): - 'M045': DeviceInfo("iStick Pico Mega", None, (96, 16)), - 'M046': DeviceInfo("iPower", None, (96, 16)), - 'W007': DeviceInfo("Presa TC75W", ['E052'], (64,40)), -+ 'W017': DeviceInfo("Presa TC100W", None, (64, 40)), - 'W010': DeviceInfo("Classic", None, None), - 'W011': DeviceInfo("Lite", None, None), - 'W013': DeviceInfo("Stout", None, None), - -From 51b9eb6aa81af43af0bb2356a5c4109899046afd Mon Sep 17 00:00:00 2001 -From: Arne Zellentin -Date: Tue, 11 Apr 2017 17:21:17 +0200 -Subject: [PATCH 08/11] added support for Wismec Predator 228 - ---- - evic/device.py | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/evic/device.py b/evic/device.py -index ca8eeae..0d60901 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -72,7 +72,9 @@ class HIDTransfer(object): - 'W014': DeviceInfo("Reuleaux RX200", None, None), - 'W016': DeviceInfo("CENTURION", None, None), - 'W018': DeviceInfo("Reuleaux RX2/3", None, (64, 48)), -- 'W033': DeviceInfo("Reuleaux RX200S", None, None) -+ 'W026': DeviceInfo("Reuleaux RX75", None, (64, 48)), -+ 'W033': DeviceInfo("Reuleaux RX200S", None, None), -+ 'W078': DeviceInfo("Predator 228", None, (64, 48)) - } - - # 0x43444948 - -From 0e445578bcaa30c2e12e533fe95e3093d0771af1 Mon Sep 17 00:00:00 2001 -From: yanbec -Date: Fri, 12 May 2017 13:43:02 +0200 -Subject: [PATCH 09/11] Added logo support for RX200s - -According to Wismec logo support for RX200s is supported since FW V4.02. Tested with FW 4.13. ---- - evic/device.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/evic/device.py b/evic/device.py -index 0d60901..db65447 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -73,7 +73,7 @@ class HIDTransfer(object): - 'W016': DeviceInfo("CENTURION", None, None), - 'W018': DeviceInfo("Reuleaux RX2/3", None, (64, 48)), - 'W026': DeviceInfo("Reuleaux RX75", None, (64, 48)), -- 'W033': DeviceInfo("Reuleaux RX200S", None, None), -+ 'W033': DeviceInfo("Reuleaux RX200S", None, (64, 48)) - 'W078': DeviceInfo("Predator 228", None, (64, 48)) - } - - -From 9ff63462f4c5a4739c74d902f4b5166d13ea199d Mon Sep 17 00:00:00 2001 -From: Jan Sperling -Date: Wed, 20 Dec 2017 12:04:34 +0100 -Subject: [PATCH 10/11] add new devices and update list of tested devices - ---- - README.rst | 53 ++++++++++++++++++++++++++++++------------------ - evic/device.py | 63 ++++++++++++++++++++++++++++++++++------------------------ - 2 files changed, 71 insertions(+), 45 deletions(-) - -diff --git a/README.rst b/README.rst -index 2948b43..685d647 100644 ---- a/README.rst -+++ b/README.rst -@@ -10,28 +10,43 @@ Evic is a USB programmer for devices based on the Joyetech Evic VTC Mini. - Supported devices - --------------------- - --* eVic VTwo* --* Evic VTC Mini --* Cuboid Mini --* Cuboid --* eVic VTC Dual* --* eGrip II* --* eVic AIO* --* eVic VTwo mini* --* eVic Basic* --* iStick TC100W* --* ASTER* --* iStick Pico --* iStick Pico Mega* --* iPower* --* Presa TC75W* -+* Joyetech eVic VTwo* -+* Joyetech eVic VTwo mini -+* Joyetech evic VTC Mini -+* Joyetech eVic VTC Dual* -+* Joyetech eVic AIO* -+* Joyetech eVic Basic* -+* Joyetech eVic Primo* -+* Joyetech eVic Primo Mini* -+* Joyetech eVic Primo 2.0* -+* Joyetech Cuboid -+* Joyetech Cuboid Mini -+* Joyetech Cuboid 200* -+* Joyetech eGrip II* -+* Eleaf iStick QC 200W* -+* Eleaf iStick TC100W* -+* Eleaf iStick TC200W* -+* Eleaf iStick Pico -+* Eleaf iStick Pico RDTA* -+* Eleaf iStick Pico Mega* -+* Eleaf iStick Pico Dual* -+* Eleaf iStick Power* -+* Eleaf ASTER* -+* Wismec Presa TC75W -+* Wismec Presa TC100W* -+* Wismec Reuleaux RX2/3 -+* Wismec Reuleaux RX200* -+* Wismec Reuleaux RX200S* -+* Wismec Reuleaux RX75 -+* Wismec Reuleaux RX300* -+* Wismec Reuleaux RXmini* -+* Wismec Predator 228 - * Vaporflask Classic* - * Vaporflask Lite* - * Vaporflask Stout* --* Reuleaux RX200* --* CENTURION* --* Reuleaux RX2/3* --* Reuleaux RX200S* -+* Beyondvape Centurion* -+* Vaponaute La Petit Box* -+* Vapor Shark SwitchBox RX* - - \*Untested - -diff --git a/evic/device.py b/evic/device.py -index db65447..86c37df 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -49,32 +49,43 @@ class HIDTransfer(object): - - vid = 0x0416 - pid = 0x5020 -- devices = {'E043': DeviceInfo("eVic VTwo", None, (64, 40)), -- 'E052': DeviceInfo("eVic-VTC Mini", ['W007'], (64, 40)), -- 'E056': DeviceInfo("CUBOID MINI", None, (64, 40)), -- 'E060': DeviceInfo("Cuboid", None, (64, 40)), -- 'E083': DeviceInfo("eGrip II", None, (64, 40)), -- 'E092': DeviceInfo("eVic AIO", None, (64, 40)), -- 'E115': DeviceInfo("eVic VTwo mini", None, (64, 40)), -- 'E079': DeviceInfo("eVic VTC Dual", None, (64, 40)), -- 'E150': DeviceInfo("eVic Basic", None, (64, 40)), -- 'E196': DeviceInfo("eVic Primo Mini", None, (64, 40)), -- 'M011': DeviceInfo("iStick TC100W", None, None), -- 'M037': DeviceInfo("ASTER", None, (96, 16)), -- 'M041': DeviceInfo("iStick Pico", None, (96, 16)), -- 'M045': DeviceInfo("iStick Pico Mega", None, (96, 16)), -- 'M046': DeviceInfo("iPower", None, (96, 16)), -- 'W007': DeviceInfo("Presa TC75W", ['E052'], (64,40)), -- 'W017': DeviceInfo("Presa TC100W", None, (64, 40)), -- 'W010': DeviceInfo("Classic", None, None), -- 'W011': DeviceInfo("Lite", None, None), -- 'W013': DeviceInfo("Stout", None, None), -- 'W014': DeviceInfo("Reuleaux RX200", None, None), -- 'W016': DeviceInfo("CENTURION", None, None), -- 'W018': DeviceInfo("Reuleaux RX2/3", None, (64, 48)), -- 'W026': DeviceInfo("Reuleaux RX75", None, (64, 48)), -- 'W033': DeviceInfo("Reuleaux RX200S", None, (64, 48)) -- 'W078': DeviceInfo("Predator 228", None, (64, 48)) -+ devices = {'E043': DeviceInfo("Joyetech eVic VTwo", None, (64, 40)), -+ 'E052': DeviceInfo("Joyetech eVic VTC Mini", ['W007'], (64, 40)), -+ 'E056': DeviceInfo("Joyetech Cuboid Mini", None, (64, 40)), -+ 'E060': DeviceInfo("Joyetech Cuboid", None, (64, 40)), -+ 'E079': DeviceInfo("Joyetech eVic VTC Dual", None, (64, 40)), -+ 'E083': DeviceInfo("Joyetech eGrip II", None, (64, 40)), -+ 'E092': DeviceInfo("Joyetech eVic AIO", None, (64, 40)), -+ 'E115': DeviceInfo("Joyetech eVic VTwo mini", None, (64, 40)), -+ 'E150': DeviceInfo("Joyetech eVic Basic", None, (64, 40)), -+ 'E166': DeviceInfo("Joyetech Cuboid 200", None, (64, 40)), -+ 'E182': DeviceInfo("Joyetech eVic Primo", None, (64, 40)), -+ 'E196': DeviceInfo("Joyetech eVic Primo Mini", None, (64, 40)), -+ 'E203': DeviceInfo("Joyetech eVic Primo 2.0", None, (64, 40)), -+ 'M011': DeviceInfo("Eleaf iStick TC100W", None, (96, 16)), -+ 'M037': DeviceInfo("Eleaf ASTER", None, (96, 16)), -+ 'M038': DeviceInfo("Eleaf iStick Pico RDTA", None, (96, 16)), -+ 'M041': DeviceInfo("Eleaf iStick Pico", None, (96, 16)), -+ 'M045': DeviceInfo("Eleafi Stick Pico Mega", None, (96, 16)), -+ 'M046': DeviceInfo("Eleaf iStick Power", None, (96, 16)), -+ 'M065': DeviceInfo("Eleaf iStick Pico Dual", None, (96, 16)), -+ 'M972': DeviceInfo("Eleaf iStick TC200W", None, (96, 16)), -+ 'M973': DeviceInfo("Eleaf iStick QC 200W", None, (96, 16)), -+ 'W007': DeviceInfo("Wismec Presa TC75W", ['E052'], (64, 40)), -+ 'W010': DeviceInfo("Vaporflask Classic", None, (96, 16)), -+ 'W011': DeviceInfo("Vaporflask Lite", None, (96, 16)), -+ 'W013': DeviceInfo("Vaporflask Stout", None, (96, 16)), -+ 'W014': DeviceInfo("Wismec Reuleaux RX200", None, (96, 16)), -+ 'W016': DeviceInfo("Beyondvape Centurion", None, None), -+ 'W017': DeviceInfo("Wismec Presa TC100W", None, (64, 40)), -+ 'W018': DeviceInfo("Wismec Reuleaux RX2/3", None, (64, 48)), -+ 'W026': DeviceInfo("Wismec Reuleaux RX75", None, (64, 48)), -+ 'W033': DeviceInfo("Wismec Reuleaux RX200S", None, (64, 48)), -+ 'W043': DeviceInfo("Vaponaute La Petit Box", None, (64, 48)), -+ 'W057': DeviceInfo("Vapor Shark SwitchBox RX", None, (96, 16)), -+ 'W069': DeviceInfo("Wismec Reuleaux RX300", None, (64, 48)), -+ 'W073': DeviceInfo("Wismec Reuleaux RXmini", None, (64, 48)), -+ 'W078': DeviceInfo("Wismec Predator 228", None, (64, 48)), - } - - # 0x43444948 - -From 8aff6c405d7801f903275811dd690ee9bf6826a7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= -Date: Sat, 6 Jan 2018 15:23:36 +0100 -Subject: [PATCH 11/11] Add some documentation about new commands - ---- - README.rst | 6 +++--- - evic/cli.py | 5 ++++- - evic/device.py | 2 ++ - 3 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/README.rst b/README.rst -index 685d647..9b3d620 100644 ---- a/README.rst -+++ b/README.rst -@@ -152,7 +152,7 @@ Reset the device: - - $ evic-usb reset - --Dump any part of the flash memory: -+Dump any part of the flash memory (May not work with all firmwares): - - :: - -@@ -164,13 +164,13 @@ Example to read the parameters flash memory: - - $ evic-usb fmc-read -o out.bin -s 122880 -l 4096 - --Setup date and time of the device to the current time: -+Setup date and time of the device to the current time (For firmwares supporting clock display): - - :: - - $ evic-usb time - --Take a screenshot of the device display: -+Take a screenshot of the device display (May not work with all firmwares): - - :: - -diff --git a/evic/cli.py b/evic/cli.py -index 607e97d..3733e87 100644 ---- a/evic/cli.py -+++ b/evic/cli.py -@@ -327,7 +327,10 @@ def reset(): - - @usb.command('time') - def time(): -- """Sets the device date/time to now.""" -+ """Sets the device date/time to now. -+ Works only with devices and/or firmwares -+ supporting a clock-screen on the display. -+ """ - - dev = evic.HIDTransfer() - -diff --git a/evic/device.py b/evic/device.py -index 86c37df..0a76ec8 100644 ---- a/evic/device.py -+++ b/evic/device.py -@@ -179,6 +179,7 @@ def read_dataflash(self): - - def fmc_read(self, start, length): - """Reads the device flash memory. -+ May not work with all devices or firmwares. - - Returns: - An array containing the data flash memory content. -@@ -207,6 +208,7 @@ def hid_command(self, cmd, start, length): - - def read_screen(self): - """Reads the screen memory. -+ May not work with all devices or firmwares. - - Returns: - An array containing the screen. diff --git a/python-evic.spec b/python-evic.spec deleted file mode 100644 index 6c8b9cb..0000000 --- a/python-evic.spec +++ /dev/null @@ -1,218 +0,0 @@ -%{?python_enable_dependency_generator} -%global pypi_name evic - -# No tagged releases. :/ -%global commit 176cf0b076db331cf79dcab4232abd1158b183fa -%{?commit:%global shortcommit %(c="%{commit}"; /bin/echo ${c:0:7})} -%{?commit:%global git_date 20161101} -%{?commit:%global git_rel .git%{git_date}.%{shortcommit}} -%{?commit:%global git_ver -git%{git_date}-%{shortcommit}} - - -Name: python-%{pypi_name} -Version: 0.1 -Release: 0.28%{?git_rel}%{?dist} -Summary: USB programmer for devices based on the Joyetech Evic VTC Mini - -License: GPLv3+ -URL: https://github.com/Ban3/python-%{pypi_name} -Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{version}%{?git_ver}.tar.gz - -# Patches from upstream. -Patch0: %{url}/pull/38.patch#/%{name}-0.1-all_PRs.patch - -BuildArch: noarch - -BuildRequires: help2man -BuildRequires: systemd - -%description -%{summary}. - -%package -n python3-%{pypi_name} -Summary: %{summary} - -BuildRequires: python3-binstruct -BuildRequires: python3-bitarray -BuildRequires: python3-bitstruct -BuildRequires: python3-click -BuildRequires: python3-devel -BuildRequires: python3-hidapi -BuildRequires: python3-pillow -BuildRequires: python3-setuptools -BuildRequires: python3-pytest -BuildRequires: python3-pytest-runner - -Recommends: python3-hidapi >= 0.7.99 - -%{?systemd_requires} - -%{?python_provide:%python_provide python3-%{pypi_name}} - -%description -n python3-%{pypi_name} -%{summary}. - - -%prep -%if "0%{?commit}" == "0" -%autosetup -p 1 -%else # "0#{?commit}" == "0" -%autosetup -p 1 -n %{name}-%{commit} -%endif # "0#{?commit}" == "0" - - -%build -%py3_build - - -%install -%py3_install - -# Needed for help2man. -PYTHONPATH="%{buildroot}/%{python3_sitelib}:${PYTHONPATH}" -export PYTHONPATH="${PYTHONPATH%%':'}" - -# Generate man-pages. -%{__mkdir} -p %{buildroot}%{_mandir}/man1 \ - %{buildroot}%{_udevrulesdir} %{buildroot}%{_unitdir} - -for f in %{buildroot}%{_bindir}/* ; do - file="$(%{_bindir}/basename ${f})" - %{_bindir}/help2man \ - -o "%{buildroot}%{_mandir}/man1/${file}.1" -s 1 -N \ - --version-string="%{version}" --no-discard-stderr ${f} -done - -# Install udev-rules. -%{__mv} %{buildroot}%{_usr}/udev/* %{buildroot}%{_udevrulesdir} -%{__rm} -fr %{buildroot}%{_usr}/udev - -# Install systemd unit. -%{__install} -pm0644 scripts/*.service %{buildroot}%{_unitdir} - -# Remove clutter from man-page generation. -%{__rm} -fv %{buildroot}%{python3_sitelib}/%{pypi_name}/*.py{c,o} -%{_bindir}/find %{buildroot}%{python3_sitelib}/%{pypi_name} \ - -name '__pycache__' -print0 | %{_bindir}/xargs -0 %{__rm} -rfv - - -%check -%{__python3} setup.py test - - -%post -n python3-%{pypi_name} -%systemd_post evic-usb-rtc-sync.service - - -%preun -n python3-%{pypi_name} -%systemd_preun evic-usb-rtc-sync.service - - -%postun -n python3-%{pypi_name} -%systemd_postun_with_restart evic-usb-rtc-sync.service - - -%files -n python3-%{pypi_name} -%license LICENSE -%doc README.rst -%{_bindir}/* -%{_mandir}/man1/*.1* -%{_udevrulesdir}/*.rules -%{_unitdir}/*.service -%{python3_sitelib}/%{pypi_name} -%{python3_sitelib}/%{pypi_name}-%{version}-py%{python3_version}.egg-info - - -%changelog -* Fri Jul 22 2022 Fedora Release Engineering - 0.1-0.28.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jan 21 2022 Fedora Release Engineering - 0.1-0.27.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Jul 27 2021 Fedora Release Engineering - 0.1-0.26.git20161101.176cf0b -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 04 2021 Python Maint - 0.1-0.25.git20161101.176cf0b -- Rebuilt for Python 3.10 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 0.1-0.24.git20161101.176cf0b -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Wed Jan 27 2021 Fedora Release Engineering - 0.1-0.23.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 0.1-0.22.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue May 26 2020 Miro Hrončok - 0.1-0.21.git20161101.176cf0b -- Rebuilt for Python 3.9 - -* Thu Jan 30 2020 Fedora Release Engineering - 0.1-0.20.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Oct 03 2019 Miro Hrončok - 0.1-0.19.git20161101.176cf0b -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Mon Aug 19 2019 Miro Hrončok - 0.1-0.18.git20161101.176cf0b -- Rebuilt for Python 3.8 - -* Fri Jul 26 2019 Fedora Release Engineering - 0.1-0.17.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 0.1-0.16.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jan 11 2019 Igor Gnatenko - 0.1-0.15.git20161101.176cf0b -- Enable python dependency generator - -* Mon Jan 07 2019 Miro Hrončok - 0.1-0.14.git20161101.176cf0b -- Subpackage python2-evic has been removed - See https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal - -* Sun Nov 18 2018 Zbigniew Jędrzejewski-Szmek - 0.1-0.13.git20161101.176cf0b -- Use C.UTF-8 locale - See https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot - -* Sat Jul 14 2018 Fedora Release Engineering - 0.1-0.12.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 0.1-0.11.git20161101.176cf0b -- Rebuilt for Python 3.7 - -* Mon Feb 12 2018 Iryna Shcherbina - 0.1-0.10.git20161101.176cf0b -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Fri Feb 09 2018 Fedora Release Engineering - 0.1-0.9.git20161101.176cf0b -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 06 2018 Björn Esser - 0.1-0.8.git20161101.176cf0b -- Updated snapshot - -* Thu Jul 27 2017 Fedora Release Engineering - 0.1-0.7.git20160814.f916017 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.1-0.6.git20160814.f916017 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Dec 19 2016 Miro Hrončok - 0.1-0.5.git20160814.f916017 -- Rebuild for Python 3.6 - -* Mon Oct 24 2016 Björn Esser - 0.1-0.4.git20160814.f916017 -- %%{_udevrulesdir} is not defined during srpm-build -- Fix invocation of %%autosetup - -* Mon Oct 24 2016 Björn Esser - 0.1-0.3.git20160814.f916017 -- Initial import (rhbz 1387834) - -* Mon Oct 24 2016 Björn Esser - 0.1-0.2.git20160814.f916017 -- Changes suggested during review (rhbz 1387834) -- Add BuildRequires: systemd -- Use %%{_udevrulesdir} -- Don't mark udev-rules as %%config(noreplace) - -* Fri Oct 21 2016 Björn Esser - 0.1-0.1.git20160814.f916017 -- Initial package (rhbz 1387834) diff --git a/sources b/sources deleted file mode 100644 index 081f1e4..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (python-evic-0.1-git20161101-176cf0b.tar.gz) = 20601151c6300452f8c2d62f5a575ebad2a2405e8deae8d0f2b61e33b9e6deb158fbf7c23f406c02223e966235e844007aa01de99d533b6ac3b5abf8aed0ef55