Added new Devices JieStar 4/JieStar 8 Channel Smart Creative Module#230
Conversation
b66c7fd to
5c6208f
Compare
There was a problem hiding this comment.
Pull request overview
Adds support for two new BLE-advertising devices — the JieStar 4-channel and 8-channel Smart Creative Modules — closely modeled on the existing Mould King nibble-based modules. A new JieStar vendor/namespace introduces a shared base class, per-platform RF-payload services, a protocol constants class, a device-manager that persists an App identifier, and the corresponding UI sections (channel selector grid, channel-letter labels, README entry).
Changes:
- New
BrickController2.DeviceManagement.JieStarnamespace withJieStarBase,JieStarSCM4,JieStarSCM8,JieStarDeviceManager, vendor registration, and platform service interfaces. - Per-platform
JieStarPlatformService(Android/iOS/WinUI) wired up through Autofac, plus a sharedJieStarProtocolconstants class. - UI integration: new
DeviceTypevalues, channel-letter mapping, two new XAML sections (JieStarSCM4Section/JieStarSCM8Section) and command/selection wiring inDeviceChannelSelector.xaml.cs; README updated.
Reviewed changes
Copilot reviewed 19 out of 23 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Lists the two new JieStar devices as supported. |
| BrickController2/DeviceManagement/DeviceType.cs | Adds JieStarSCM4 / JieStarSCM8 enum values. |
| BrickController2/DeviceManagement/JieStar/JieStar.cs | Vendor registration of manager and 1×SCM4 / 3×SCM8 device factories. |
| BrickController2/DeviceManagement/JieStar/JieStarBase.cs | Abstract base for nibble-per-channel advertising devices, patches AppID into telegrams. |
| BrickController2/DeviceManagement/JieStar/JieStarSCM4.cs | 4-channel SCM device with connect/base telegrams and analog-channel encoding. |
| BrickController2/DeviceManagement/JieStar/JieStarSCM8.cs | 8-channel SCM with three device-specific base telegrams selected by address. |
| BrickController2/DeviceManagement/JieStar/JieStarDeviceManager.cs | Persists a random per-install AppID via IPreferencesService. |
| BrickController2/DeviceManagement/JieStar/IJieStarDeviceManager.cs | Interface exposing the AppID. |
| BrickController2/DeviceManagement/JieStar/IJieStarPlatformService.cs | Interface for platform-specific RF payload generation. |
| BrickController2/Protocols/JieStarProtocol.cs | Shared constants (manufacturer ID, CTX values, seed/header arrays). |
| BrickController2.Android/.../JieStarPlatformService.cs | Android implementation of IJieStarPlatformService. |
| BrickController2.iOS/.../JieStarPlatformService.cs | iOS implementation (different header offset / fill pattern). |
| BrickController2.WinUI/.../JieStarPlatformService.cs | WinUI implementation (uses payload offset variant of CryptTools.GetRfPayload). |
| BrickController2.Android/.../PlatformServices/DI/PlatformServicesModule.cs | Registers Android JieStar platform service. |
| BrickController2.iOS/.../PlatformServices/DI/PlatformServicesModule.cs | Registers iOS JieStar platform service, reorders usings. |
| BrickController2.WinUI/.../PlatformServices/DI/PlatformServicesModule.cs | Registers WinUI JieStar platform service. |
| BrickController2/UI/Controls/DeviceChannelLabel.cs | Adds JieStar channel-letter mapping (A–H). |
| BrickController2/UI/Controls/DeviceChannelSelector.xaml | New visual sections for SCM4/SCM8 channel selection. |
| BrickController2/UI/Controls/DeviceChannelSelector.xaml.cs | Wires new section visibility, channel commands, and selected-channel propagation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
vicocz
left a comment
There was a problem hiding this comment.
Sorry for delayed review, just few minor things to address.
* text and comments: "JIESTAR" * code: "JieStar"
|
By incrementing |
vicocz
left a comment
There was a problem hiding this comment.
Collaboration is welcome here, thx.
Hope this works have no device to test.
|
Thank you very much :) |
I've added two new devices:
They're pretty equal to a nibble-based module from Mould King.