Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
1338046
Current working state of Shimmer HardwareRevision
lumagi Oct 25, 2025
fdf3a71
Implement dedicated HardwareRevision class for Shimmer3
lumagi Oct 25, 2025
8bd99a0
Move revision module around and add license notices
lumagi Nov 20, 2025
14abe1f
Implement test cases for Shimmer3 revision
lumagi Nov 20, 2025
c8fe2a3
Add missing future annotations import
lumagi Nov 24, 2025
9e782a8
Remove unused method in HardwareRevision
lumagi Nov 24, 2025
6d6ff57
Move ESensorGroup unique test to separate group
lumagi Nov 24, 2025
edd0014
Add more tests for HW Revision 3
lumagi Nov 24, 2025
780b35f
Add HardwareRevision to Bluetooth command constructors, reformat
lumagi Dec 6, 2025
7e5cdf2
Update Bluetooth Command Tests
lumagi Dec 6, 2025
7750d54
Fix some of the tests
lumagi Dec 14, 2025
bac291b
Move HardwareVersion into separate module
lumagi Dec 22, 2025
8c1e574
Link the HardwareRevision to the HardwareVersion enum
lumagi Dec 22, 2025
fd67128
Update the Bluetooth API to use the new revision class
lumagi Dec 22, 2025
ff4fdeb
Update revision handling in ShimmerBluetooth
lumagi Dec 22, 2025
013da76
Update the BluetoothRequestHandler tests
lumagi Dec 22, 2025
dd2c3db
Fix HardwareVersion initialization
lumagi Dec 22, 2025
89314c3
Update Bluetooth tests
lumagi Dec 22, 2025
491f58c
Rewrite Bluetooth commands to use the revision class
lumagi Dec 22, 2025
0df5ffd
Rename EFirmwareType to FirmwareType
lumagi Dec 22, 2025
6c05c5f
Integrate get_firmware_type into FirmwareType enum
lumagi Dec 22, 2025
38d6627
Add missin byteorder flag for Python 3.9
lumagi Dec 22, 2025
1bb9ee3
Shimmer3R (#36)
JongChern Dec 25, 2025
e8875f4
Reformat code and optimize imports
lumagi Dec 25, 2025
b09b2bf
Refactor tests
lumagi Dec 25, 2025
dfcb5fc
Fix tests for new revision
lumagi Dec 25, 2025
57c7e1b
Introduce dedicated Inquiry commands for different HW revisions
lumagi Dec 25, 2025
49bb48d
Reverse coupling from HardwareVersion to HardwareRevision
lumagi Feb 7, 2026
2f8c1ff
Implement RevisionRegistry class to look up revisions for HW versions
lumagi Feb 7, 2026
f20d326
Introduce HardwareRevision class into ShimmerBinaryReader
lumagi Feb 7, 2026
3e76b55
Make BinaryReader hw revision available as property
lumagi Feb 7, 2026
a50a623
Introduce HW revision into ShimmerReader, add unwrapping fn to Revision
lumagi Feb 7, 2026
14afc23
Introduce revision class for ShimmerReader classes
lumagi Feb 7, 2026
f0c789c
Add licence and annotations import to new module
lumagi Feb 7, 2026
48d0166
Introduce class-level variables to Registry for individual revisions
lumagi Feb 8, 2026
80ce3fb
Add missing import for ESensorGroup to pyshimmer __init__
lumagi Feb 8, 2026
d8115f1
Remove uses of GLOBAL variables and functions in tests
lumagi Feb 8, 2026
471c17f
Remove uses of global channel functions and attributes from Dock API
lumagi Feb 8, 2026
1de4bd1
Migrate DockAPI test to pytest
lumagi Feb 8, 2026
81c698b
Remove further uses of channels attributes and functions
lumagi Feb 8, 2026
7143e4a
Remove global functions and attributes in dev.base and dev.channels
lumagi Feb 8, 2026
be032ac
Update the Changelog
lumagi Feb 8, 2026
d5d69e6
Update shimmer3r.py (#39)
JongChern Feb 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ The project uses semantic versioning.
- Raise required Python version to 3.9 since PEP 604 is used in the code
- Update the `ChannelDataType` class to use the `int.from_bytes` and
`int.to_bytes` methods
- Introduce new hardware revision classes to encapsulate all hardware-specific
code. As a consequence, all global functions in `pyshimmer.dev.base` and
`pyshimmer.dev.channels` were removed.

## 1.0.0 - 2025-10-25

Expand Down
12 changes: 10 additions & 2 deletions pyshimmer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,20 @@

# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

from .bluetooth.bt_api import ShimmerBluetooth
from .bluetooth.bt_commands import DataPacket
from .dev.base import DEFAULT_BAUDRATE
from .dev.channels import ChannelDataType, EChannelType
from .dev.channels import ChannelDataType, EChannelType, ESensorGroup
from .dev.exg import ExGMux, ExGRLDLead, ERLDRef, ExGRegister
from .dev.fw_version import EFirmwareType
from .dev.fw_version import FirmwareType
from .dev.revisions import (
HardwareRevision,
Shimmer3Revision,
RevisionRegistry,
HardwareVersion,
Shimmer3RRevision,
)
from .reader.binary_reader import ShimmerBinaryReader
from .reader.shimmer_reader import ShimmerReader
from .uart.dock_api import ShimmerDock
Expand Down
Loading