Skip to content

Conversation

@Adminiuga
Copy link
Collaborator

0.30.0 Release

Adminiuga and others added 13 commits November 27, 2021 20:00
Handle exceptions in case EZSP Radio doesn't support the getMfgToken
token command. This is required to make ZHA work with the EmberZNet
Zigbee stack running on Linux (zigbeed).
Allows network configuration at initialization
* Add stream subcommand for RF testing

The stream subcommmand uses the manufacturing library to transmit random
characters continously. This is useful for RF testing and approvals.

* Address black/flake8 errors
The Silicon Labs zigbee daemon restarts on reset. Restarts take some
time, and with a probe timeout of 2s probe often stops before the
zigbeed finished restarting. This is especially noticable since Gecko
SDK 4.0.2.0.
* Fix black with latest click

Latest click broke black (see psf/black#2964
for details). Use latest black to fix black in our CI environment. Also
add .pre-commit-config.yaml to the key of the cache.

* Fix workflow

* Use prepared environment with correct key

* Use prepared environment with correct key everywhere

* Fix new found black issues
* Add tone command for RF testing

From the mfglib description:
[...] start a TX tone that can be used to measure the PA output power,
phase noise, frequency offset and spurious emissions using a spectrum
analyzer. The TX tone is a continuous unmodulated transmission.

* Fix spelling
* Fix UART port close on RSTACK message during startup

When a RSTACK message is processed right after the UART has been opened,
it causes EZSP.enter_failed_state() getting called at a point where the
application callbacks are not registered yet. In that case the UART
will get closed and it won't get opened again. Bellows is stuck with a
closed transport.

Avoid this issue by not closing the port in case there is no application
callback registered yet.

Typically, it is unlikely that a RSTACK message arrives right when
the port gets opened (the race window is very narrow). However, with
hardware flow control opening the port leads to RTS signal to get
asserted which causes the radio to send pending messages, e.g. resets
caused by EmberZNet watchdog.

Note: With hardware flow control this is only the case if the tty "hupcl"
option is set. The option is set by default, but cleared by tools like
GNU screen. This option makes sure that the RTS signal is deasserted
while the port is closed. Pyserial/bellows does not change the state
of that option.

* Fix tests

* Address black

* Check that close is not called without callbacks registered

* Address black again
@codecov-commenter
Copy link

codecov-commenter commented May 10, 2022

Codecov Report

Merging #460 (75d66f2) into master (5672c50) will decrease coverage by 0.05%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master     #460      +/-   ##
==========================================
- Coverage   99.97%   99.91%   -0.06%     
==========================================
  Files          44       44              
  Lines        3464     3469       +5     
==========================================
+ Hits         3463     3466       +3     
- Misses          1        3       +2     
Impacted Files Coverage Δ
bellows/config/__init__.py 100.00% <ø> (ø)
bellows/thread.py 100.00% <ø> (ø)
bellows/types/named.py 100.00% <ø> (ø)
bellows/zigbee/application.py 99.57% <71.42%> (-0.43%) ⬇️
bellows/__init__.py 100.00% <100.00%> (ø)
bellows/ezsp/__init__.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5672c50...75d66f2. Read the comment docs.

@Adminiuga Adminiuga merged commit 0a0e4da into master May 10, 2022
@Adminiuga Adminiuga deleted the rc branch May 10, 2022 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants