Icoc

Latest version: v2.0.0

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 5

1.0.9

Configuration

- We moved the [configuration file for the test scripts][config] into the `mytoolit` package.
- We moved the [configuration file for ICOc](https://github.com/MyTooliT/ICOc/blob/7035ff18/mytoolit/old/configKeys.xml) into the `mytoolit` package.
- We now use uppercase letters for all configuration keys in [`config.yaml`][config]. The reason behind this update is that we can overwrite these values using environment variables – with the prefix `DYNACONF_` – even on Windows. Unfortunately Windows [converts all environment variables to uppercase](https://www.dynaconf.com/configuration).

[config]: https://github.com/MyTooliT/ICOc/blob/7035ff18/mytoolit/config/config.yaml

Compatibility

- This version of ICOc requires at least Python `3.7`, since we use the `annotations` directive from the `__futures__` module

Package

- We added a [package description](https://github.com/MyTooliT/ICOc/blob/7035ff18/setup.py) for ICOc. You can now install the software using `pip install -e .` in the root of the repository. To uninstall the package use `pip uninstall icoc`.

Scripts

- We added a new EEPROM checking tool. For more information please take a look at the section “EEPROM Check” of the [script documentation](https://github.com/MyTooliT/ICOc/blob/7035ff18/Documentation/Scripts.md).

Internal

- We removed old hardware test code

Network (Old)

- Simplified code

1.0.8

Internal

Message

- Added method to convert message to python-can message object
- Renamed initialization attribute `payload` to `data`
- Added support to initialize a message object with a message object of [python-can]

[python-can]: https://python-can.readthedocs.io

Production Test

- The name of the PDF test report now reflects the tested node. The latest test data for the STH will be stored in a file called `STH Test.pdf`, while the STU test data is stored in a file called `STU Test.pdf`. Before this update both tests would use the file name `Report.pdf`.

STH Test

- We now always assume the name of the STH (`STH` → `Name`) in the [configuration][configuration file] is given as string. This improves the usability of the tests, since otherwise you might specify an integer as name (e.g. `1337`) and wonder why the test is unable to connect to the STH.
- The STH test now prints a message about a possible incorrect config value for the acceleration sensor (`STH` → `Acceleration Sensor` → `Sensor`), if [the self test of the accelerometer failed](https://github.com/MyTooliT/ICOc/issues/13).
- The STH test fails, if you use an sensor value (`STH` → `Acceleration Sensor` → `Sensor`) that is not one of the supported values

- `ADXL1001` or
- `ADXL1002`.

Tests

- We now check the code base with [flake8][].
- We use [GitHub actions](https://github.com/MyTooliT/ICOc/actions)
- to run non-hardware dependent parts of the automated tests, and
- to check the code base with [flake8][]

[flake8]: https://flake8.pycqa.org

1.0.7

Logging

- The [main CAN class](https://github.com/MyTooliT/ICOc/blob/d89c5a59/network.py) now logs the received CAN messages in a file called `can.log`, if you specify the level `DEBUG` in the [configuration file][].

[configuration file]: https://github.com/MyTooliT/ICOc/blob/d89c5a59/Configuration/config.yaml

STH Test

- The STH test case now skips the flash test if the status in the [configuration file](https://github.com/MyTooliT/ICOc/blob/d89c5a59/Configuration/config.yaml) (`STH` → `Status`) is set to `Epoxied`.
- The test now also supports the ±50 g digital accelerometer [ADXL1002](https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL1001-1002.pdf). To choose which sensor is part of the STH (or SHA), please change the value `STH` → `Acceleration Sensor` → `Sensor` to the appropriate value in the [configuration file][].
- Removed the over the air (OTA) test, since it requires the command `ota-dfu`, which needs to be compiled first, and often does not work reliable.
- The [renaming of the STH in the EEPROM test](https://github.com/MyTooliT/ICOc/issues/10) should now work more reliable.

STU Test

- Add first version of [new test for the STU](https://github.com/MyTooliT/ICOc/blob/d89c5a59/mytoolit/test/production/stu.py). For more information, please take a look at the section “Production Tests” of the [main readme](https://github.com/MyTooliT/ICOc/blob/d89c5a59/ReadMe.md).

1.0.6

Documentation

- We added a [tutorial](https://github.com/MyTooliT/ICOc/blob/cdfed9f94c94cfe17ce42abc8db7a2130e4ede51/Documentation/Guidelines/Release.md) that explains the necessary steps for releasing a new version of ICOc

1.0.5

Configuration

- We moved the host and port configuration values of the [Matplotlib](https://matplotlib.org) GUI from the XML configuration file into the [YAML configuration](https://github.com/MyTooliT/ICOc/blob/8568893f/Configuration/config.yaml).

Documentation

- We documented how to execute the [automatic tests](https://github.com/MyTooliT/ICOc/blob/8568893f/Documentation/Guidelines/Test.md) for software.

STH Test

- The EEPROM tests now also writes the firmware release name (`STH` → `Firmware` → `Release Name` in the [configuration](https://github.com/MyTooliT/ICOc/blob/8568893f/Configuration/config.yaml)) into the EEPROM.
- The EEPROM test now sets the

- operating time,
- power on cycles,
- power off cycles,
- under voltage counter, and the
- watchdog reset counter

to `0`.

1.0.4

Documentation

- We moved the release notes from the init code of the [`mytoolit` package](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/mytoolit) into [this file](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Documentation/Release%20Notes.md).
- We added an [FAQ](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Documentation/FAQ.md) text that should answer questions not covered by the main ReadMe.
- We rewrote the main readme file. The document should now contain more information that is relevant for the typical user of ICOc. Before this update the text contained more technical information that is only interesting for developers of the ICOc application, such as ADC settings and hardware configuration steps.
- We added a [tutorial](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Documentation/Tutorials/Testing.md) that shows you how to test an STH (or SHA).
- The documentation now includes a description of [manual tests for the software](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Documentation/Guidelines/Test.md).
- We added a document that describes the [style guidelines](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Documentation/Guidelines/Style.md) for the code base.

Install

- We forgot to add the [requirements file](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/requirements.txt) for pip in the last release. This problem should now be fixed.
- We now use the [Python CAN package](https://python-can.readthedocs.io) to access the PCAN-Basic API instead of including a copy of the Python API file in the repository.

Scripts

- Add a simple wrapper script for the STH test. If you add its parent folder to your path you will be able to execute the test regardless of your current path. For more information, please take a look at the [ReadMe](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/ReadMe.md).
- We added a simple wrapper script for [`mwt.py`](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/mwt.py). For more information, please take a look [here](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Scripts/ReadMe.md).
- The new scripts [`Convert-MAC-Base64`](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Scripts/ReadMe.md) and [`Convert-Base64-MAC`](https://github.com/MyTooliT/ICOc/blob/b93b2763aff36f02c89ddd502673d017a7096d5e/Scripts/ReadMe.md) convert a MAC address (e.g. `08:6b:d7:01:de:81`) into a Base64 encoded (8 character long) text (e.g. `CGvXAd6B`) and back. We use the Base64 encoded MAC address as Bluetooth advertisement name to uniquely identify a STH (or SHA).

Style

- We formatted the code base with [YAPF](https://github.com/google/yapf).

STH Test

- We added a test that checks, if updating the over the air update via the [ota-dfu](https://www.silabs.com/documents/public/application-notes/an1086-gecko-bootloader-bluetooth.pdf) command line application works correctly. Currently this test is not activated by default, since it requires that the operator compiles the `ota-dfu` application.
- The test now uses the Base64 encoded version of the MAC address as default name. The rationale behind this update was that the name we used until now was not unique for a certain STH (or SHA). For more information, please take a look [here](https://github.com/MyTooliT/ICOc/issues/1).
- The EEPROM test now resets the STH at the end. This way the STH will already use the Base64 encoded MAC address as name after the test was executed. Before this update we had to do a manual reset for the name change to take place.

Page 4 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.