@@ -8,3 +8,6 @@ |
||
| 8 | 8 |
# Build products |
| 9 | 9 |
DerivedData/ |
| 10 | 10 |
build/ |
| 11 |
+ |
|
| 12 |
+# Large local research archives kept out of regular git history |
|
| 13 |
+Documentation/Research Resources/Software/PC Software/UM24C PC Software V1.3.rar |
|
@@ -3,3 +3,36 @@ |
||
| 3 | 3 |
This folder contains project notes, platform decisions, and collected reverse engineering material. |
| 4 | 4 |
|
| 5 | 5 |
It is intended to keep the repository root focused on the app itself while preserving project context in one dedicated place. |
| 6 |
+ |
|
| 7 |
+## Working Layout |
|
| 8 |
+ |
|
| 9 |
+- `Project History.md` |
|
| 10 |
+ Narrative context and decisions that explain how the project got here. |
|
| 11 |
+- `Platform Decision - iOS 15.md` |
|
| 12 |
+ App-level platform choices that affect implementation. |
|
| 13 |
+- `Research Resources/` |
|
| 14 |
+ External source material plus the notes derived from it. |
|
| 15 |
+ |
|
| 16 |
+## Documentation Layers |
|
| 17 |
+ |
|
| 18 |
+We keep two distinct layers of documentation: |
|
| 19 |
+ |
|
| 20 |
+- project documentation |
|
| 21 |
+ Notes that describe our app, decisions, assumptions, and roadmap |
|
| 22 |
+- research documentation |
|
| 23 |
+ Vendor manuals, software archives, contact sheets, protocol notes, and model-specific findings |
|
| 24 |
+ |
|
| 25 |
+## Retention Rule |
|
| 26 |
+ |
|
| 27 |
+Prefer keeping: |
|
| 28 |
+ |
|
| 29 |
+- small curated Markdown notes |
|
| 30 |
+- raw manuals and reference PDFs |
|
| 31 |
+- small software artifacts that are directly useful for reverse engineering |
|
| 32 |
+- one canonical copy of each vendor artifact line |
|
| 33 |
+ |
|
| 34 |
+Avoid committing by default: |
|
| 35 |
+ |
|
| 36 |
+- very large archives with low immediate value |
|
| 37 |
+- duplicate files already represented elsewhere |
|
| 38 |
+- generated exports that can be reproduced from a kept source |
|
@@ -7,3 +7,59 @@ Recommended naming: |
||
| 7 | 7 |
- include model name |
| 8 | 8 |
- include version or revision when known |
| 9 | 9 |
- include source and date when possible |
| 10 |
+ |
|
| 11 |
+## Collected Manuals |
|
| 12 |
+ |
|
| 13 |
+### `USB tester UM24C - User Manual.pdf` |
|
| 14 |
+ |
|
| 15 |
+- status: added to repository |
|
| 16 |
+- apparent scope: `UM24C` |
|
| 17 |
+- pages: `19` |
|
| 18 |
+- document language hint: `zh-CN` |
|
| 19 |
+- creator metadata: `Microsoft Word 2010` |
|
| 20 |
+- extraction status: text extraction not yet cleaned; review will likely require manual reading or OCR-aware extraction |
|
| 21 |
+- compatibility note: keep as `UM24C`-specific until we find stronger evidence that the same manual applies unchanged to `UM25C` or `UM34C` |
|
| 22 |
+ |
|
| 23 |
+### `UM24(C) USB tester meter Instruction PC software intruction Android APP instruction- 3 in 1 - 2018.6.30(3).pdf` |
|
| 24 |
+ |
|
| 25 |
+- status: not imported separately |
|
| 26 |
+- reason: duplicate of `USB tester UM24C - User Manual.pdf` |
|
| 27 |
+- SHA-1: `b85dde3d36ee017a7a7f643690283d64aa29d516` |
|
| 28 |
+ |
|
| 29 |
+### `TC66.pdf` |
|
| 30 |
+ |
|
| 31 |
+- status: added to repository |
|
| 32 |
+- apparent scope: `TC66` / `TC66C` |
|
| 33 |
+- pages: `9` |
|
| 34 |
+- title metadata: `TC66/TC66C` |
|
| 35 |
+- creator metadata: `Microsoft Word 2010` |
|
| 36 |
+- SHA-1: `c9272064731ab462b6c872d92536d7291b2bda1d` |
|
| 37 |
+- extraction status: reviewed; summarized in `../Specifications/TC66 Manuals Working Summary.md` |
|
| 38 |
+ |
|
| 39 |
+### `User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf` |
|
| 40 |
+ |
|
| 41 |
+- status: added to repository |
|
| 42 |
+- apparent scope: `TC66(C)` including device operation, PC software, and Android app workflow |
|
| 43 |
+- pages: `12` |
|
| 44 |
+- creator metadata: `WPS 文字` |
|
| 45 |
+- SHA-1: `a497356baab166af7cf0806e3095a59ad18f0276` |
|
| 46 |
+- extraction status: reviewed; summarized in `../Specifications/TC66 Manuals Working Summary.md` |
|
| 47 |
+ |
|
| 48 |
+### `User_Manual_UM34C.pdf` |
|
| 49 |
+ |
|
| 50 |
+- status: added to repository |
|
| 51 |
+- apparent scope: shared `UM25C` / `UM34C` family operation manual, but model labeling is inconsistent inside the document |
|
| 52 |
+- pages: `12` |
|
| 53 |
+- creator metadata: `Microsoft Word 2016` |
|
| 54 |
+- SHA-1: `71f6ccae85ba6930e626208e24f66dead07d3e52` |
|
| 55 |
+- extraction status: text extracted and summarized in `../Specifications/UM34C Manual Working Summary.md` |
|
| 56 |
+ |
|
| 57 |
+### `UM25 User Manual.pdf` |
|
| 58 |
+ |
|
| 59 |
+- status: added to repository |
|
| 60 |
+- apparent scope: `UM25` family manual as provided from local source |
|
| 61 |
+- pages: `27` |
|
| 62 |
+- creator metadata: `WPS 文字` |
|
| 63 |
+- source filename: `98c297e2b477494d7de0babe2b77877749c3.pdf` |
|
| 64 |
+- SHA-1: `518898c297e2b477494d7de0babe2b77877749c3` |
|
| 65 |
+- extraction status: imported as raw manual; content review not yet performed |
|
@@ -17,3 +17,14 @@ For each note, prefer recording: |
||
| 17 | 17 |
- sample payload |
| 18 | 18 |
- decoded meaning |
| 19 | 19 |
- confidence level |
| 20 |
+ |
|
| 21 |
+## Collected Notes |
|
| 22 |
+ |
|
| 23 |
+### `UM24C-UM25C-UM34C from floriandotorg-um24c.md` |
|
| 24 |
+ |
|
| 25 |
+- external protocol notes for the UM family |
|
| 26 |
+ |
|
| 27 |
+### `TC66C Transport and Payload Working Note.md` |
|
| 28 |
+ |
|
| 29 |
+- implementation-oriented note derived from the TC66 manuals and the current app code |
|
| 30 |
+- captures current transport assumptions, command surface, encrypted snapshot framing, and decoded field map |
|
@@ -0,0 +1,267 @@ |
||
| 1 |
+# TC66C Transport and Payload Working Note |
|
| 2 |
+ |
|
| 3 |
+This note translates the reviewed `TC66` manuals and the current app code into an implementation-oriented working reference. |
|
| 4 |
+ |
|
| 5 |
+## Scope |
|
| 6 |
+ |
|
| 7 |
+This note is about `TC66C`, not `TC66`. |
|
| 8 |
+ |
|
| 9 |
+Reason: |
|
| 10 |
+ |
|
| 11 |
+- the manuals say `TC66` is USB-only |
|
| 12 |
+- the iOS and Android apps are `TC66C`-only |
|
| 13 |
+- the current app code has a separate `TC66C` BLE path |
|
| 14 |
+ |
|
| 15 |
+## Evidence Sources |
|
| 16 |
+ |
|
| 17 |
+Primary sources used for this note: |
|
| 18 |
+ |
|
| 19 |
+- `Documentation/Research Resources/Specifications/TC66 Manuals Working Summary.md` |
|
| 20 |
+- `USB Meter/Model/Meter.swift` |
|
| 21 |
+- `USB Meter/Model/BluetoothRadio.swift` |
|
| 22 |
+- `USB Meter/Model/BluetoothSerial.swift` |
|
| 23 |
+ |
|
| 24 |
+## Current App Assumptions |
|
| 25 |
+ |
|
| 26 |
+The current app already treats `TC66C` as a different protocol family than `UM25C` / `UM34C`. |
|
| 27 |
+ |
|
| 28 |
+Confirmed from code: |
|
| 29 |
+ |
|
| 30 |
+- model enum contains a dedicated `TC66C` case |
|
| 31 |
+- `TC66C` is mapped to radio type `PW0316` |
|
| 32 |
+- peripheral names `TC66C` and `PW0316` are both recognized as `TC66C` |
|
| 33 |
+- the scan path includes services `FFE0` and `FFE5` for this radio family |
|
| 34 |
+ |
|
| 35 |
+## BLE Transport Assumptions In Code |
|
| 36 |
+ |
|
| 37 |
+The current code assumes the following BLE transport for `TC66C`: |
|
| 38 |
+ |
|
| 39 |
+- notify characteristic: service `FFE0`, characteristic `FFE4` |
|
| 40 |
+- write characteristic: service `FFE5`, characteristic `FFE9` |
|
| 41 |
+ |
|
| 42 |
+This differs from the `UM` family path already documented elsewhere: |
|
| 43 |
+ |
|
| 44 |
+- `UM25C` / `UM34C` use `FFE0` / `FFE1` |
|
| 45 |
+- `TC66C` uses a separate `PW0316`-style path in the current app |
|
| 46 |
+ |
|
| 47 |
+## Request / Response Shape |
|
| 48 |
+ |
|
| 49 |
+The current app polls `TC66C` using ASCII commands. |
|
| 50 |
+ |
|
| 51 |
+Confirmed command surface already used by the app: |
|
| 52 |
+ |
|
| 53 |
+- measurement snapshot request: `bgetva\r\n` |
|
| 54 |
+- next page: `bnextp\r\n` |
|
| 55 |
+- previous page: `blastp\r\n` |
|
| 56 |
+- rotate screen: `brotat\r\n` |
|
| 57 |
+ |
|
| 58 |
+Expected snapshot response size in current code: |
|
| 59 |
+ |
|
| 60 |
+- `192` bytes |
|
| 61 |
+ |
|
| 62 |
+Important implication: |
|
| 63 |
+ |
|
| 64 |
+- the app assumes fixed-length snapshot framing for `TC66C` |
|
| 65 |
+- this is not derived from the manuals directly; it comes from the existing reverse-engineered implementation |
|
| 66 |
+ |
|
| 67 |
+## Encrypted Snapshot Structure |
|
| 68 |
+ |
|
| 69 |
+The current parser decrypts the `192`-byte response with `AES ECB`. |
|
| 70 |
+ |
|
| 71 |
+Observed implementation details: |
|
| 72 |
+ |
|
| 73 |
+- the app uses a hard-coded `32`-byte AES key |
|
| 74 |
+- the decrypted payload is treated as three `64`-byte packets |
|
| 75 |
+- those packets are referred to as `pac1`, `pac2`, and `pac3` |
|
| 76 |
+ |
|
| 77 |
+Each packet is validated as: |
|
| 78 |
+ |
|
| 79 |
+- first four bytes are ASCII header `pac1`, `pac2`, or `pac3` |
|
| 80 |
+- bytes `0...59` are CRC-covered |
|
| 81 |
+- CRC seed is `0xFFFF` |
|
| 82 |
+- stored CRC is little-endian at offset `60` |
|
| 83 |
+ |
|
| 84 |
+If any of the three packets fail validation, the app rejects the snapshot as invalid. |
|
| 85 |
+ |
|
| 86 |
+## Field Map Currently Parsed By The App |
|
| 87 |
+ |
|
| 88 |
+The offsets below are offsets inside the decrypted packet blocks, not offsets into the encrypted `192`-byte BLE frame. |
|
| 89 |
+ |
|
| 90 |
+### `pac1` |
|
| 91 |
+ |
|
| 92 |
+- offset `4`, size `4`: candidate model name as ASCII |
|
| 93 |
+- offset `8`, size `4`: candidate firmware version as ASCII |
|
| 94 |
+- offset `12`, size `4`: candidate serial number, little-endian `UInt32` |
|
| 95 |
+- offset `44`, size `4`: candidate boot count, little-endian `UInt32` |
|
| 96 |
+- offset `48`, size `4`: voltage, raw / `10000` |
|
| 97 |
+- offset `52`, size `4`: current, raw / `100000` |
|
| 98 |
+- offset `56`, size `4`: power, raw / `10000` |
|
| 99 |
+ |
|
| 100 |
+Confidence: |
|
| 101 |
+ |
|
| 102 |
+- voltage / current / power are high-confidence because the app actively uses them |
|
| 103 |
+- model / firmware / serial / boot count are medium-confidence because they exist as commented decoding hints in code, not active UI fields |
|
| 104 |
+ |
|
| 105 |
+### `pac2` |
|
| 106 |
+ |
|
| 107 |
+- offset `4`, size `4`: load resistance, raw / `10` |
|
| 108 |
+- offset `8`, size `4`: data group `0` accumulated charge, raw / `1000` |
|
| 109 |
+- offset `16`, size `4`: data group `1` accumulated charge, raw / `1000` |
|
| 110 |
+- offset `48`, size `4`: data group `0` accumulated energy, raw / `1000` |
|
| 111 |
+- offset `56`, size `4`: data group `1` accumulated energy, raw / `1000` |
|
| 112 |
+- offset `24`, size `4`: temperature sign flag, `1` means negative in current parser |
|
| 113 |
+- offset `28`, size `4`: temperature magnitude |
|
| 114 |
+- offset `32`, size `4`: `D+` voltage, raw / `100` |
|
| 115 |
+- offset `36`, size `4`: `D-` voltage, raw / `100` |
|
| 116 |
+ |
|
| 117 |
+Confidence: |
|
| 118 |
+ |
|
| 119 |
+- load resistance, temperature, `D+`, and `D-` are high-confidence in the sense that the app displays them |
|
| 120 |
+- exact data-group interpretation is medium-confidence because the parser only fills groups `0` and `1` |
|
| 121 |
+ |
|
| 122 |
+### `pac3` |
|
| 123 |
+ |
|
| 124 |
+- no fields are currently decoded from `pac3` |
|
| 125 |
+ |
|
| 126 |
+This is a major open area for further reverse engineering. |
|
| 127 |
+ |
|
| 128 |
+## Mismatch Between Manuals And Current App |
|
| 129 |
+ |
|
| 130 |
+### 1. Device pages vs exposed controls |
|
| 131 |
+ |
|
| 132 |
+The manuals describe many on-device capabilities: |
|
| 133 |
+ |
|
| 134 |
+- offline recording |
|
| 135 |
+- protocol detection |
|
| 136 |
+- trigger / decoy |
|
| 137 |
+- system settings |
|
| 138 |
+- information page |
|
| 139 |
+- simple mode |
|
| 140 |
+ |
|
| 141 |
+The current app only implements these direct `TC66C` controls: |
|
| 142 |
+ |
|
| 143 |
+- request live snapshot |
|
| 144 |
+- previous page |
|
| 145 |
+- next page |
|
| 146 |
+- rotate screen |
|
| 147 |
+ |
|
| 148 |
+Not implemented in the current app for `TC66C`: |
|
| 149 |
+ |
|
| 150 |
+- clear data group |
|
| 151 |
+- select data group |
|
| 152 |
+- brightness change |
|
| 153 |
+- screen timeout change |
|
| 154 |
+- recording-threshold change |
|
| 155 |
+ |
|
| 156 |
+The code explicitly guards these setters off for `TC66C`. |
|
| 157 |
+ |
|
| 158 |
+### 2. Data-group coverage |
|
| 159 |
+ |
|
| 160 |
+The manuals discuss data groups, but the current parser only populates two groups for `TC66C`. |
|
| 161 |
+ |
|
| 162 |
+Working interpretation: |
|
| 163 |
+ |
|
| 164 |
+- either `TC66C` exposes only two remotely readable groups in the current snapshot layout |
|
| 165 |
+- or the current parser only decodes the first two groups and leaves the rest unknown |
|
| 166 |
+ |
|
| 167 |
+This needs verification from captures or app analysis. |
|
| 168 |
+ |
|
| 169 |
+### 3. Bluetooth scope |
|
| 170 |
+ |
|
| 171 |
+The manuals are clear that: |
|
| 172 |
+ |
|
| 173 |
+- `TC66` is not a Bluetooth target |
|
| 174 |
+- `TC66C` uses BLE for mobile apps |
|
| 175 |
+ |
|
| 176 |
+This matches the current app architecture and strengthens confidence that `TC66C` should remain a separate transport family in the codebase. |
|
| 177 |
+ |
|
| 178 |
+## Working State Model For `TC66C` |
|
| 179 |
+ |
|
| 180 |
+The current implementation implicitly models at least these state domains: |
|
| 181 |
+ |
|
| 182 |
+- connection state |
|
| 183 |
+- active device page |
|
| 184 |
+- instantaneous electrical measurements: |
|
| 185 |
+ - voltage |
|
| 186 |
+ - current |
|
| 187 |
+ - power |
|
| 188 |
+ - current direction is documented in manuals but not currently decoded into a separate published field |
|
| 189 |
+- accumulated data: |
|
| 190 |
+ - charge |
|
| 191 |
+ - energy |
|
| 192 |
+ - at least two data groups |
|
| 193 |
+- cable and charger context: |
|
| 194 |
+ - load resistance |
|
| 195 |
+ - `D+` |
|
| 196 |
+ - `D-` |
|
| 197 |
+ - quick-charge related behavior |
|
| 198 |
+- environment: |
|
| 199 |
+ - temperature |
|
| 200 |
+- device metadata: |
|
| 201 |
+ - firmware version candidate |
|
| 202 |
+ - serial number candidate |
|
| 203 |
+ - boot count candidate |
|
| 204 |
+ |
|
| 205 |
+## Practical Implications For Implementation |
|
| 206 |
+ |
|
| 207 |
+### Keep `TC66C` separate from UM-family decoding |
|
| 208 |
+ |
|
| 209 |
+- transport is different |
|
| 210 |
+- request commands are different |
|
| 211 |
+- payload framing is different |
|
| 212 |
+- encryption is different |
|
| 213 |
+ |
|
| 214 |
+The code already reflects this split and the manuals support it. |
|
| 215 |
+ |
|
| 216 |
+### Treat `pac3` as the highest-value unknown |
|
| 217 |
+ |
|
| 218 |
+We already have enough for a basic live meter UI from `pac1` and `pac2`. |
|
| 219 |
+ |
|
| 220 |
+What is still likely hidden: |
|
| 221 |
+ |
|
| 222 |
+- additional device settings |
|
| 223 |
+- active page information |
|
| 224 |
+- recording configuration |
|
| 225 |
+- protocol-detection or trigger state |
|
| 226 |
+- more complete data-group information |
|
| 227 |
+ |
|
| 228 |
+### Do not over-trust current group mapping |
|
| 229 |
+ |
|
| 230 |
+The app's `TC66C` parser only maps two groups, while the manuals talk more generally about groups and offline storage. |
|
| 231 |
+ |
|
| 232 |
+Until verified, avoid hard-coding a stronger assumption than: |
|
| 233 |
+ |
|
| 234 |
+- `TC66C` snapshots currently expose at least two group-like accumulators in our parser |
|
| 235 |
+ |
|
| 236 |
+### Separate manual truth from protocol truth |
|
| 237 |
+ |
|
| 238 |
+The manuals are strong for: |
|
| 239 |
+ |
|
| 240 |
+- feature list |
|
| 241 |
+- UX flow |
|
| 242 |
+- transport family split |
|
| 243 |
+- required `PD / CC pull-down` behavior |
|
| 244 |
+ |
|
| 245 |
+The manuals are not enough for: |
|
| 246 |
+ |
|
| 247 |
+- exact BLE field map |
|
| 248 |
+- command framing completeness |
|
| 249 |
+- full payload offsets |
|
| 250 |
+ |
|
| 251 |
+## Suggested Verification Priorities |
|
| 252 |
+ |
|
| 253 |
+1. confirm `FFE0/FFE4` notify and `FFE5/FFE9` write behavior against real `TC66C` hardware |
|
| 254 |
+2. capture and archive one or more raw `192`-byte encrypted snapshots |
|
| 255 |
+3. decrypt and annotate unknown bytes in `pac3` |
|
| 256 |
+4. verify whether more than two data groups exist in BLE snapshots |
|
| 257 |
+5. determine whether current device page is present in payload |
|
| 258 |
+6. verify whether recording state and interval are exposed remotely |
|
| 259 |
+7. promote candidate metadata fields in `pac1` from code comments to confirmed fields |
|
| 260 |
+ |
|
| 261 |
+## Recommended Next Notes |
|
| 262 |
+ |
|
| 263 |
+The next helpful artifacts for the repository would be: |
|
| 264 |
+ |
|
| 265 |
+- a raw `TC66C` sample-capture note in `Payload Notes` |
|
| 266 |
+- a byte-offset map for `pac1`, `pac2`, and `pac3` |
|
| 267 |
+- an implementation checklist for exposing currently undocumented `TC66C` features in the UI |
|
@@ -6,6 +6,8 @@ Use it to collect: |
||
| 6 | 6 |
|
| 7 | 7 |
- manuals |
| 8 | 8 |
- vendor specifications |
| 9 |
+- archived software packages |
|
| 10 |
+- vendor contact information |
|
| 9 | 11 |
- screenshots or extracts of device information |
| 10 | 12 |
- protocol notes |
| 11 | 13 |
- payload descriptions |
@@ -18,3 +20,38 @@ Suggested rule: |
||
| 18 | 20 |
- keep raw source material close to its origin |
| 19 | 21 |
- keep interpretation notes in Markdown |
| 20 | 22 |
- prefer small focused notes over large mixed documents |
| 23 |
+ |
|
| 24 |
+Imported sources can include: |
|
| 25 |
+ |
|
| 26 |
+- raw PDFs, DOCX, APK, RAR, and similar archival files |
|
| 27 |
+- companion README notes describing provenance, duplicates, hashes, and extraction status |
|
| 28 |
+ |
|
| 29 |
+## Folder Roles |
|
| 30 |
+ |
|
| 31 |
+- `Manuals/` |
|
| 32 |
+ Raw manuals and manual inventory notes. |
|
| 33 |
+- `Software/` |
|
| 34 |
+ Raw APKs, desktop packages, and notes about retained or intentionally skipped software artifacts. |
|
| 35 |
+- `Vendor Contacts/` |
|
| 36 |
+ Vendor contact documents and extracted contact details. |
|
| 37 |
+- `Specifications/` |
|
| 38 |
+ Curated product and family-level summaries derived from manuals and software. |
|
| 39 |
+- `Payload Notes/` |
|
| 40 |
+ Protocol-facing notes, field maps, framing assumptions, and verification targets. |
|
| 41 |
+- `Related Projects/` |
|
| 42 |
+ External reverse-engineering references that help us compare assumptions. |
|
| 43 |
+ |
|
| 44 |
+## Retention Policy |
|
| 45 |
+ |
|
| 46 |
+Keep in git: |
|
| 47 |
+ |
|
| 48 |
+- source manuals that are directly cited by our notes |
|
| 49 |
+- compact software artifacts that are useful for quick inspection |
|
| 50 |
+- extracted Markdown notes that save future reverse-engineering time |
|
| 51 |
+- one canonical copy of a duplicated vendor artifact |
|
| 52 |
+ |
|
| 53 |
+Do not keep in regular git history by default: |
|
| 54 |
+ |
|
| 55 |
+- very large archives that are expensive to clone and not yet central to active work |
|
| 56 |
+- duplicate bundles that do not add new information |
|
| 57 |
+- generated intermediate files created only during extraction |
|
@@ -0,0 +1,29 @@ |
||
| 1 |
+# Android Apps |
|
| 2 |
+ |
|
| 3 |
+This folder contains Android application packages collected as raw reference material. |
|
| 4 |
+ |
|
| 5 |
+## Imported Files |
|
| 6 |
+ |
|
| 7 |
+### `UM Meter_V3.0.5.apk` |
|
| 8 |
+ |
|
| 9 |
+- status: added to repository |
|
| 10 |
+- source: `UM24` archive |
|
| 11 |
+- SHA-1: `b1427fba05c5fbcb64d9bab1f174a8eab63cc996` |
|
| 12 |
+- extraction status: APK preserved as raw artifact; contents not yet analyzed |
|
| 13 |
+- working applicability: likely broader than `UM24C` only; quick string scan shows RuiDeng branding but no immediate model lock |
|
| 14 |
+ |
|
| 15 |
+### `RuiDeng_V1.0.2.apk` |
|
| 16 |
+ |
|
| 17 |
+- status: added to repository |
|
| 18 |
+- source: `UM24` archive |
|
| 19 |
+- SHA-1: `25154f7ab5da6c727eab17ed903c1a8e06d82c71` |
|
| 20 |
+- extraction status: APK preserved as raw artifact; contents not yet analyzed |
|
| 21 |
+- working applicability: likely broader than `UM24C` only; quick string scan shows RuiDeng branding but no immediate model lock |
|
| 22 |
+ |
|
| 23 |
+### `TC66C_V1.1.6.apk` |
|
| 24 |
+ |
|
| 25 |
+- status: added to repository |
|
| 26 |
+- source: `TC66` archive |
|
| 27 |
+- SHA-1: `1054cc6122a3ac0668d1c6908b273bf24012ff39` |
|
| 28 |
+- extraction status: APK preserved as raw artifact; quick inspection only |
|
| 29 |
+- quick findings: string scan surfaced repeated `TC66C` markers, RuiDeng branding, and text indicating applicability to `TC66C` data acquisition display |
|
@@ -0,0 +1,25 @@ |
||
| 1 |
+# PC Software |
|
| 2 |
+ |
|
| 3 |
+This folder contains archived desktop software packages related to RuiDeng USB meters. |
|
| 4 |
+ |
|
| 5 |
+## Imported Files |
|
| 6 |
+ |
|
| 7 |
+### `UM24C PC Software V1.3.rar` |
|
| 8 |
+ |
|
| 9 |
+- status: reviewed locally but intentionally not committed to regular git history |
|
| 10 |
+- source: `UM24` archive |
|
| 11 |
+- SHA-1: `b2e16ca006c185571bc0f7e3a1a79c4c13dbe9f1` |
|
| 12 |
+- apparent scope: `UM24C` |
|
| 13 |
+- archive status: preserved as raw artifact; detailed extraction not yet documented |
|
| 14 |
+- initial observation: archive appears to contain a Windows installer tree with National Instruments / LabVIEW-related runtime components |
|
| 15 |
+- compatibility note: quick archive scan did not surface direct `UM25` or `UM34` strings, so any broader applicability remains an inference only |
|
| 16 |
+- retention note: excluded from this repository's normal history because the archive is very large relative to its current investigation value |
|
| 17 |
+ |
|
| 18 |
+### `RuiDengUSBMeter_V1.0.0.6.rar` |
|
| 19 |
+ |
|
| 20 |
+- status: added to repository |
|
| 21 |
+- source: `TC66` archive |
|
| 22 |
+- SHA-1: `10280f20f6979b4b2ee9468d89d0f9b2dd79d552` |
|
| 23 |
+- apparent scope: likely `TC66` family desktop software |
|
| 24 |
+- archive status: preserved as raw artifact; quick archive listing only |
|
| 25 |
+- quick findings: archive contains `RuiDengUSBMeter.exe`, x86/x64 drivers, `CH.xaml`, `EN.xaml`, and bundled `.NET Framework 4.6` |
|
@@ -0,0 +1,29 @@ |
||
| 1 |
+# Software |
|
| 2 |
+ |
|
| 3 |
+Archive vendor or third-party software related to supported USB meter models here. |
|
| 4 |
+ |
|
| 5 |
+Recommended contents: |
|
| 6 |
+ |
|
| 7 |
+- Android applications |
|
| 8 |
+- PC software packages |
|
| 9 |
+- extracted binaries or installers when legally safe to preserve |
|
| 10 |
+- companion notes about supported models, versions, and observed protocol hints |
|
| 11 |
+ |
|
| 12 |
+Current status: |
|
| 13 |
+ |
|
| 14 |
+- Android applications imported from the `UM24` archive |
|
| 15 |
+- Android application imported from the `TC66` archive |
|
| 16 |
+- compact `TC66` PC software archive retained in repository |
|
| 17 |
+- large `UM24C` PC software archive inspected locally but intentionally not committed to regular git history because of size |
|
| 18 |
+- font file from the archive intentionally not imported for now because it does not appear device-specific |
|
| 19 |
+ |
|
| 20 |
+Working note: |
|
| 21 |
+ |
|
| 22 |
+- some imported software artifacts appear branded at the RuiDeng family level rather than clearly tied to a single model |
|
| 23 |
+- until deeper reverse engineering confirms scope, treat them as potentially relevant to `UM24C`, `UM25C`, and `UM34C` |
|
| 24 |
+- the `TC66` archive also contains TC66-specific software artifacts that should be treated as a separate line unless overlap is later confirmed |
|
| 25 |
+ |
|
| 26 |
+Retention note: |
|
| 27 |
+ |
|
| 28 |
+- prefer keeping software artifacts that are small enough to clone comfortably and directly useful for protocol or workflow analysis |
|
| 29 |
+- keep metadata notes for larger archives even when the archive itself stays out of git |
|
@@ -8,3 +8,24 @@ Useful content for this folder: |
||
| 8 | 8 |
- service and characteristic UUID notes |
| 9 | 9 |
- device version comparisons |
| 10 | 10 |
- hardware revisions |
| 11 |
+ |
|
| 12 |
+## Collected Notes |
|
| 13 |
+ |
|
| 14 |
+### `UM24-UM25-UM34 Family Compatibility Note.md` |
|
| 15 |
+ |
|
| 16 |
+- family-level compatibility and inference note across related USB testers |
|
| 17 |
+ |
|
| 18 |
+### `UM34C Manual Working Summary.md` |
|
| 19 |
+ |
|
| 20 |
+- working summary extracted from the imported `User_Manual_UM34C.pdf` |
|
| 21 |
+- focuses on confirmed UI behavior, measurement features, storage semantics, app workflow, and caveats |
|
| 22 |
+ |
|
| 23 |
+### `UM25 Manual Working Summary.md` |
|
| 24 |
+ |
|
| 25 |
+- working summary extracted from the imported `UM25 User Manual.pdf` |
|
| 26 |
+- focuses on confirmed `UM25/UM25C` capabilities, Android/iOS/Windows workflow, and transport caveats |
|
| 27 |
+ |
|
| 28 |
+### `TC66 Manuals Working Summary.md` |
|
| 29 |
+ |
|
| 30 |
+- combined working summary for the imported `TC66` Chinese and English manuals |
|
| 31 |
+- focuses on model split, USB vs BLE communication, trigger and PD behavior, and PC/mobile workflow |
|
@@ -0,0 +1,260 @@ |
||
| 1 |
+# TC66 Manuals Working Summary |
|
| 2 |
+ |
|
| 3 |
+This note summarizes the two imported TC66 manuals as a working reference for the project. |
|
| 4 |
+ |
|
| 5 |
+## Source Set |
|
| 6 |
+ |
|
| 7 |
+### `TC66.pdf` |
|
| 8 |
+ |
|
| 9 |
+- imported file: `Documentation/Research Resources/Manuals/TC66.pdf` |
|
| 10 |
+- apparent scope: `TC66 / TC66C` |
|
| 11 |
+- language: `zh-CN` |
|
| 12 |
+- pages: `9` |
|
| 13 |
+- title metadata: `TC66/TC66C` |
|
| 14 |
+- creator metadata: `Microsoft Word 2010` |
|
| 15 |
+- revision date inside manual: `2022-01-07` |
|
| 16 |
+- SHA-1: `c9272064731ab462b6c872d92536d7291b2bda1d` |
|
| 17 |
+ |
|
| 18 |
+### `User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf` |
|
| 19 |
+ |
|
| 20 |
+- imported file: `Documentation/Research Resources/Manuals/User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf` |
|
| 21 |
+- apparent scope: `TC66(C)` operation plus PC and mobile software |
|
| 22 |
+- language: `en` |
|
| 23 |
+- pages: `12` |
|
| 24 |
+- creator metadata: `WPS 文字` |
|
| 25 |
+- version label inside manual: `TC66/TC66C(2020.6.5)` |
|
| 26 |
+- SHA-1: `a497356baab166af7cf0806e3095a59ad18f0276` |
|
| 27 |
+ |
|
| 28 |
+## Reading Strategy |
|
| 29 |
+ |
|
| 30 |
+Working interpretation of the two documents: |
|
| 31 |
+ |
|
| 32 |
+- the English manual is the easier baseline for product behavior and software workflow |
|
| 33 |
+- the Chinese manual is newer and appears to supersede or extend some product details |
|
| 34 |
+- when the two overlap, treat the Chinese manual as the newer reference unless runtime evidence says otherwise |
|
| 35 |
+ |
|
| 36 |
+## Confirmed Model Split |
|
| 37 |
+ |
|
| 38 |
+- `TC66` supports USB communication only |
|
| 39 |
+- `TC66C` supports USB and Bluetooth communication |
|
| 40 |
+- Android and iPhone app support are described only for `TC66C` |
|
| 41 |
+- PC software communicates with `TC66` and `TC66C` by `micro-USB`, not Bluetooth |
|
| 42 |
+ |
|
| 43 |
+This split is one of the most important conclusions from the manuals. |
|
| 44 |
+ |
|
| 45 |
+## Confirmed Device Capabilities |
|
| 46 |
+ |
|
| 47 |
+- display: `0.96 inch` color `IPS` |
|
| 48 |
+- screen resolution: `160 x 80` |
|
| 49 |
+- voltage measurement range: `0.0050 V` to `30.0000 V` |
|
| 50 |
+- current measurement range: `0` to `5.00000 A` |
|
| 51 |
+- supply voltage: `3.5 V` to `24 V` |
|
| 52 |
+- power range: `0` to `150 W` |
|
| 53 |
+- voltage resolution: `0.0001 V` |
|
| 54 |
+- current resolution: `0.00001 A` |
|
| 55 |
+- capacity accumulation: `0-99999 mAh` |
|
| 56 |
+- energy accumulation: |
|
| 57 |
+ - older English manual: `0-99999 mWh` and `999.99 Wh` |
|
| 58 |
+ - newer Chinese manual still speaks in `mWh`/`Wh` terms but does not restate the full line in the same layout |
|
| 59 |
+- load impedance range: |
|
| 60 |
+ - English manual: `1 Ω` to `9999.9 Ω` |
|
| 61 |
+ - Chinese manual confirms load impedance display but not all values in the same line block |
|
| 62 |
+- temperature range: |
|
| 63 |
+ - measurement / working range in manuals centers on `0 C` to `45 C` |
|
| 64 |
+- refresh rate: `2 Hz` |
|
| 65 |
+ |
|
| 66 |
+## Product-Specific Behavior |
|
| 67 |
+ |
|
| 68 |
+- this is a `Type-C` tester rather than the older USB-A style family |
|
| 69 |
+- the product has hardware switches for: |
|
| 70 |
+ - system power |
|
| 71 |
+ - `PD` |
|
| 72 |
+- there is also a `micro-USB` port for isolated power or PC connection |
|
| 73 |
+- the manuals stress an important operating rule: |
|
| 74 |
+ - turn `PD` or `CC pull-down` off during normal charging measurements |
|
| 75 |
+ - turn it on for trigger and fast-charge protocol detection |
|
| 76 |
+ |
|
| 77 |
+## UI and On-Device Pages |
|
| 78 |
+ |
|
| 79 |
+The manuals describe eight default device pages: |
|
| 80 |
+ |
|
| 81 |
+- main measurement |
|
| 82 |
+- offline recording |
|
| 83 |
+- quick-charge recognition |
|
| 84 |
+- quick-charge protocol detection |
|
| 85 |
+- trigger / decoy |
|
| 86 |
+- system settings |
|
| 87 |
+- system information |
|
| 88 |
+- simple measurement |
|
| 89 |
+ |
|
| 90 |
+### Main measurement page |
|
| 91 |
+ |
|
| 92 |
+- shows voltage, current, capacity, energy, temperature, data-group number, load impedance, power, and current direction |
|
| 93 |
+- long press `K1` clears the active data group |
|
| 94 |
+- long press `K2` switches the data group |
|
| 95 |
+ |
|
| 96 |
+### Data-group behavior |
|
| 97 |
+ |
|
| 98 |
+- the manuals describe multiple data groups with `0` as a temporary group |
|
| 99 |
+- group `0` restores and flashes the previous totals after reboot, then clears once accumulation exceeds `1 mAh` |
|
| 100 |
+- at least group `1` persists totals across power cycles |
|
| 101 |
+- the wording in the English manual appears truncated around group numbering, so group semantics should be verified on-device before we hard-code exact persistence rules for every group |
|
| 102 |
+ |
|
| 103 |
+### Offline recording page |
|
| 104 |
+ |
|
| 105 |
+- records measurements into onboard storage |
|
| 106 |
+- configurable recording interval: `1` to `60` seconds |
|
| 107 |
+- total recording duration ranges roughly from `24 minutes` to `24 hours`, depending on interval |
|
| 108 |
+- recording pauses automatically after power loss |
|
| 109 |
+- stored data can be cleared from the device menu |
|
| 110 |
+ |
|
| 111 |
+### Quick-charge recognition |
|
| 112 |
+ |
|
| 113 |
+- reports `D+` and `D-` levels |
|
| 114 |
+- recognizes at least: |
|
| 115 |
+ - `QC2.0` |
|
| 116 |
+ - `QC3.0` |
|
| 117 |
+ - Apple `2.4A / 2.1A / 1A / 0.5A` |
|
| 118 |
+ - `Android DCP` |
|
| 119 |
+ - `Samsung` |
|
| 120 |
+- manuals say recognition is only a reference indication |
|
| 121 |
+ |
|
| 122 |
+### Protocol detection |
|
| 123 |
+ |
|
| 124 |
+- dangerous operation that can make the USB-C side output high voltage |
|
| 125 |
+- manuals say to disconnect the load before running detection |
|
| 126 |
+- supported auto-detection includes: |
|
| 127 |
+ - `QC2.0` |
|
| 128 |
+ - `QC3.0` |
|
| 129 |
+ - Huawei `FCP` |
|
| 130 |
+ - Huawei `SCP` |
|
| 131 |
+ - Samsung `AFC` |
|
| 132 |
+ - `PD` |
|
| 133 |
+ |
|
| 134 |
+### Trigger / decoy |
|
| 135 |
+ |
|
| 136 |
+- supported trigger families include: |
|
| 137 |
+ - `QC2.0` |
|
| 138 |
+ - `QC3.0` |
|
| 139 |
+ - Huawei `FCP` |
|
| 140 |
+ - Huawei `SCP` |
|
| 141 |
+ - Samsung `AFC` |
|
| 142 |
+ - `PD2.0` |
|
| 143 |
+ - `PPS` |
|
| 144 |
+- `PD` mode allows switching supported voltages and adjusting step value for `PPS` |
|
| 145 |
+- after most trigger modes, unplugging and replugging is required to return to `5 V` |
|
| 146 |
+ |
|
| 147 |
+### Settings |
|
| 148 |
+ |
|
| 149 |
+- auto screen-off: |
|
| 150 |
+ - `0-9` minutes |
|
| 151 |
+ - `0` means always on |
|
| 152 |
+- brightness: |
|
| 153 |
+ - Chinese manual says `10` levels |
|
| 154 |
+- temperature unit: |
|
| 155 |
+ - `C` / `F` |
|
| 156 |
+- PC communication switch |
|
| 157 |
+- Bluetooth switch |
|
| 158 |
+- screen rotation |
|
| 159 |
+- `PD` software switch / `CC line mode` |
|
| 160 |
+- language choice |
|
| 161 |
+- restore factory settings |
|
| 162 |
+ |
|
| 163 |
+Important behavior from the newer Chinese manual: |
|
| 164 |
+ |
|
| 165 |
+- enabling `CC pull-down` can auto-light the screen on PD chargers |
|
| 166 |
+- `CC pull-down` may affect normal charging measurement |
|
| 167 |
+- if measuring PD charging behavior, turn `CC pull-down` off |
|
| 168 |
+- if doing protocol detection or trigger, `CC pull-down` must be on and no load should be connected |
|
| 169 |
+ |
|
| 170 |
+## System and Recovery Notes |
|
| 171 |
+ |
|
| 172 |
+- system info page includes serial number, firmware version, boot count, and current runtime |
|
| 173 |
+- abnormal-state recovery: |
|
| 174 |
+ - hold `K2` during power-on to restore factory settings |
|
| 175 |
+ - hold `K1` during power-on to enter boot mode for firmware update |
|
| 176 |
+ |
|
| 177 |
+## PC Software |
|
| 178 |
+ |
|
| 179 |
+- supported OS: |
|
| 180 |
+ - Chinese manual: `Windows 7` to `Windows 10` |
|
| 181 |
+ - English manual: `Windows 7 and above` |
|
| 182 |
+- PC communication is via `micro-USB` |
|
| 183 |
+- manuals mention `RuiDengUSBMeter` desktop software |
|
| 184 |
+- first-time use requires driver installation |
|
| 185 |
+- firmware update is performed from PC software while booting the device into update mode |
|
| 186 |
+ |
|
| 187 |
+Important workflow details: |
|
| 188 |
+ |
|
| 189 |
+- avoid USB hubs with compatibility issues; prefer a native computer USB port |
|
| 190 |
+- offline data can be downloaded into the PC application |
|
| 191 |
+- viewing offline data pauses real-time curve recording |
|
| 192 |
+- the graph can export table and image data |
|
| 193 |
+- manual software version references: |
|
| 194 |
+ - English manual: `V1.0.0.5` |
|
| 195 |
+ - newer Chinese manual: `V1.0.0.6` |
|
| 196 |
+ |
|
| 197 |
+## Android App |
|
| 198 |
+ |
|
| 199 |
+- Android support: |
|
| 200 |
+ - English manual: `Android 5.0+` |
|
| 201 |
+ - newer Chinese manual narrows expectation to `Android 5.0-10.0` |
|
| 202 |
+- Bluetooth requirement: `BLE 4.0+` |
|
| 203 |
+- app support is only for `TC66C` |
|
| 204 |
+- Android `6.0+` requires location permission for BLE scanning |
|
| 205 |
+- BLE devices must be discovered in the app, not through system Bluetooth settings |
|
| 206 |
+ |
|
| 207 |
+App and distribution notes: |
|
| 208 |
+ |
|
| 209 |
+- English manual points to Google Play search `TC66C` |
|
| 210 |
+- newer Chinese manual points to Google Play search `RuiDeng` |
|
| 211 |
+- manual also references direct download from RuiDeng download pages |
|
| 212 |
+- export of recorded data to spreadsheet form is supported |
|
| 213 |
+- version references: |
|
| 214 |
+ - English manual: Android app `V1.1.1` |
|
| 215 |
+ - newer Chinese manual: Android app `V1.0.3` |
|
| 216 |
+ |
|
| 217 |
+The version mismatch likely reflects different release snapshots rather than a contradiction in core behavior. |
|
| 218 |
+ |
|
| 219 |
+## iPhone App |
|
| 220 |
+ |
|
| 221 |
+- iPhone app only supports `TC66C` |
|
| 222 |
+- iOS support: |
|
| 223 |
+ - English manual: `iOS 8.0+` |
|
| 224 |
+ - newer Chinese manual: `iOS 8.0` to `iOS 14` |
|
| 225 |
+- App Store search terms differ by manual: |
|
| 226 |
+ - English manual: `TC66C` |
|
| 227 |
+ - Chinese manual: `TC66C` |
|
| 228 |
+- version references: |
|
| 229 |
+ - English manual: `1.2.0` |
|
| 230 |
+ - newer Chinese manual: `1.2.3` |
|
| 231 |
+ |
|
| 232 |
+## Important Scope Conclusions for This Project |
|
| 233 |
+ |
|
| 234 |
+- `TC66` and `TC66C` should not be treated as identical communication targets |
|
| 235 |
+- app support is explicitly `TC66C`-only |
|
| 236 |
+- Bluetooth behavior for `TC66C` is explicitly `BLE`, not classic serial Bluetooth |
|
| 237 |
+- desktop integration for the `TC66` family is explicitly USB-based |
|
| 238 |
+- `PD` / `CC pull-down` state is likely relevant to what users see and may affect how measurements behave |
|
| 239 |
+ |
|
| 240 |
+## Implementation-Relevant Concepts |
|
| 241 |
+ |
|
| 242 |
+Concepts likely worth reflecting in app state or decoding assumptions: |
|
| 243 |
+ |
|
| 244 |
+- active page |
|
| 245 |
+- active data group |
|
| 246 |
+- temporary vs persistent accumulation behavior |
|
| 247 |
+- offline recording state and interval |
|
| 248 |
+- quick-charge recognition result |
|
| 249 |
+- protocol-detection support matrix |
|
| 250 |
+- trigger protocol and selected voltage |
|
| 251 |
+- `PD` or `CC pull-down` switch state |
|
| 252 |
+- Bluetooth enabled / disabled state on `TC66C` |
|
| 253 |
+- firmware version and serial number |
|
| 254 |
+ |
|
| 255 |
+## Open Questions |
|
| 256 |
+ |
|
| 257 |
+- exact data-group count and persistence behavior across all groups on current firmware |
|
| 258 |
+- whether Bluetooth payloads expose all device pages or only a subset |
|
| 259 |
+- whether the mobile apps expose offline-recording management or only live data and export |
|
| 260 |
+- whether English and Chinese manuals map to distinct firmware branches or only different documentation snapshots |
|
@@ -0,0 +1,43 @@ |
||
| 1 |
+# TC66 Resource Inventory |
|
| 2 |
+ |
|
| 3 |
+This note captures what was directly observed from the archived `TC66` resource bundle before any deeper reverse engineering. |
|
| 4 |
+ |
|
| 5 |
+## Imported Artifacts |
|
| 6 |
+ |
|
| 7 |
+- `TC66.pdf` |
|
| 8 |
+- `User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf` |
|
| 9 |
+- `TC66C_V1.1.6.apk` |
|
| 10 |
+- `RuiDengUSBMeter_V1.0.0.6.rar` |
|
| 11 |
+ |
|
| 12 |
+## Skipped Duplicate |
|
| 13 |
+ |
|
| 14 |
+- `Factory technical support and conctact way .docx` |
|
| 15 |
+ Reason: byte-for-byte duplicate of the contact document already imported from the `UM24` archive |
|
| 16 |
+ |
|
| 17 |
+## Quick Findings |
|
| 18 |
+ |
|
| 19 |
+- `TC66.pdf` is a shorter 9-page document with title metadata `TC66/TC66C` |
|
| 20 |
+- the longer `User Maual ... TC66(C) ... 2019.6.5.pdf` appears intended to cover device operation plus PC and Android software usage |
|
| 21 |
+- string scan of `TC66C_V1.1.6.apk` surfaced repeated `TC66C` identifiers and RuiDeng branding, which makes this artifact more model-specific than the generic UM-family APKs |
|
| 22 |
+- quick archive listing of `RuiDengUSBMeter_V1.0.0.6.rar` shows a Windows desktop application, English and Chinese language files, x86/x64 drivers, and a bundled `.NET Framework 4.6` installer |
|
| 23 |
+ |
|
| 24 |
+## Review Status |
|
| 25 |
+ |
|
| 26 |
+- both imported TC66 manuals have now been text-reviewed |
|
| 27 |
+- the working synthesis is recorded in `TC66 Manuals Working Summary.md` |
|
| 28 |
+ |
|
| 29 |
+## Key Confirmations From Manual Review |
|
| 30 |
+ |
|
| 31 |
+- `TC66` is USB-only |
|
| 32 |
+- `TC66C` supports USB and Bluetooth |
|
| 33 |
+- Android app support is `TC66C`-only and explicitly BLE-based |
|
| 34 |
+- iPhone app support is `TC66C`-only |
|
| 35 |
+- desktop software communicates over `micro-USB`, not Bluetooth |
|
| 36 |
+- the manuals make `PD` / `CC pull-down` state an important part of correct measurement behavior |
|
| 37 |
+ |
|
| 38 |
+## Practical Use |
|
| 39 |
+ |
|
| 40 |
+- manuals may provide UI, feature, and workflow clues specific to `TC66(C)` |
|
| 41 |
+- the Android APK is a good candidate for later string extraction or decompilation when we need model-specific labels and behavior hints |
|
| 42 |
+- the PC software archive may be useful for identifying USB/driver assumptions and desktop-side workflows even before full extraction |
|
| 43 |
+- the payload working note `TC66C Transport and Payload Working Note.md` now records how the current app models `TC66C` transport and decoded fields |
|
@@ -0,0 +1,39 @@ |
||
| 1 |
+# UM24 / UM25 / UM34 Family Compatibility Note |
|
| 2 |
+ |
|
| 3 |
+This note records what can currently be inferred from the archived `UM24` resource bundle about the `UM24C`, `UM25C`, and `UM34C` family. |
|
| 4 |
+ |
|
| 5 |
+## Confirmed Facts |
|
| 6 |
+ |
|
| 7 |
+- the archived manual is explicitly labeled `UM24C` |
|
| 8 |
+- the archived PC software package is explicitly labeled `UM24C` |
|
| 9 |
+- the `UM24` line is known to use classic Bluetooth serial-port style communication and is not intended to be supported by this application |
|
| 10 |
+- the newly imported `User_Manual_UM34C.pdf` uses mixed model labels internally: `UM25/UM25C` in one heading and `UM34/UM34C` in the technical parameter section |
|
| 11 |
+- the same newly imported PDF titles its app section `UM34C Android APP Instruction` |
|
| 12 |
+- a separate `UM25` manual has now been imported as `Documentation/Research Resources/Manuals/UM25 User Manual.pdf` |
|
| 13 |
+- the `UM25` manual explicitly includes Android app, iOS app, and Windows PC software sections for `UM25C` |
|
| 14 |
+- the two Android APKs are branded more generically around RuiDeng / `UM Meter` |
|
| 15 |
+- the duplicate "3 in 1" PDF is byte-for-byte identical to the already imported `UM24C` manual |
|
| 16 |
+ |
|
| 17 |
+## Quick Inspection Results |
|
| 18 |
+ |
|
| 19 |
+- quick string scans of the Android APKs surfaced RuiDeng branding but did not immediately expose model-specific names such as `UM25` or `UM34` |
|
| 20 |
+- quick string scan of the PC software archive surfaced `UM24C` labeling and installer/runtime filenames, but no direct `UM25` or `UM34` hits |
|
| 21 |
+- the imported `UM34C` PDF reads like an operational manual for the same product family and strengthens the case that RuiDeng reused documentation structure across closely related models |
|
| 22 |
+- the newly added `UM25` PDF likely gives us a cleaner model-specific source for separating `UM25` behavior from `UM24C` and `UM34C`, but it still needs review |
|
| 23 |
+- the reviewed `UM25` PDF confirms that `UM25C` had official Android, iOS, and Windows software support, which makes it a better primary product reference than the older `UM24C` manual |
|
| 24 |
+- the existing external project note for `floriandotorg/um24c` remains the stronger indication that `UM24C`, `UM25C`, and `UM34C` are closely related at the protocol level |
|
| 25 |
+ |
|
| 26 |
+## Working Assumption |
|
| 27 |
+ |
|
| 28 |
+- use the imported Android applications and vendor contact document as family-level reference material that may still help with `UM25C` and `UM34C` |
|
| 29 |
+- exclude classic-Bluetooth `UM24` support from current application scope |
|
| 30 |
+- use the imported `User_Manual_UM34C.pdf` as a family-level UI and feature reference, while keeping its model-specific claims tentative |
|
| 31 |
+- use the reviewed `UM25` manual as the current best product-level reference for `UM25C` |
|
| 32 |
+- use the imported manual and PC software primarily as `UM24C` references until stronger cross-model evidence is found |
|
| 33 |
+ |
|
| 34 |
+## Practical Implication |
|
| 35 |
+ |
|
| 36 |
+- focus implementation effort on the app-supported `UM25C` / `UM34C` direction rather than classic-Bluetooth `UM24` |
|
| 37 |
+- treat the `UM25` manual as the best current guide for user-visible features and supported control surfaces |
|
| 38 |
+- for payload decoding and Bluetooth behavior, keep comparing `UM25C` and `UM34C` observations against `UM24C` notes |
|
| 39 |
+- for UI, wording, and software workflow clues, the imported APKs may be useful even if the desktop package stays `UM24C`-centric |
|
@@ -0,0 +1,194 @@ |
||
| 1 |
+# UM25 Manual Working Summary |
|
| 2 |
+ |
|
| 3 |
+This note summarizes the imported manual [`UM25 User Manual.pdf`](../Manuals/UM25%20User%20Manual.pdf) as a working reference for the project. |
|
| 4 |
+ |
|
| 5 |
+## Source Snapshot |
|
| 6 |
+ |
|
| 7 |
+- imported file: `Documentation/Research Resources/Manuals/UM25 User Manual.pdf` |
|
| 8 |
+- source filename: `98c297e2b477494d7de0babe2b77877749c3.pdf` |
|
| 9 |
+- model label in manual: `UM25/UM25C` |
|
| 10 |
+- manual date: `2019.9.24` |
|
| 11 |
+- pages: `27` |
|
| 12 |
+- creator metadata: `WPS 文字` |
|
| 13 |
+- SHA-1: `518898c297e2b477494d7de0babe2b77877749c3` |
|
| 14 |
+ |
|
| 15 |
+## Why This Source Matters |
|
| 16 |
+ |
|
| 17 |
+Compared with the previously imported `UM34C` PDF, this manual is a cleaner product reference for `UM25/UM25C`. |
|
| 18 |
+ |
|
| 19 |
+Confirmed scope improvements: |
|
| 20 |
+ |
|
| 21 |
+- the title page explicitly says `UM25/UM25C` |
|
| 22 |
+- the table of contents includes Android app, iOS app, and PC control software sections |
|
| 23 |
+- the technical parameter block is internally consistent with `UM25/UM25C` |
|
| 24 |
+ |
|
| 25 |
+## Confirmed Device Capabilities |
|
| 26 |
+ |
|
| 27 |
+- color LCD display: `1.44 inch` |
|
| 28 |
+- measurement ranges: |
|
| 29 |
+ - voltage: `4-24.000 V` |
|
| 30 |
+ - current: `0-5.0000 A` |
|
| 31 |
+ - capacity: `0-99999 mAh` |
|
| 32 |
+ - energy: `0-99999 mWh` |
|
| 33 |
+ - temperature: `-10 C to 100 C` |
|
| 34 |
+- measurement resolutions: |
|
| 35 |
+ - voltage: `0.001 V` |
|
| 36 |
+ - current: `0.0001 A` |
|
| 37 |
+- accuracy claims: |
|
| 38 |
+ - voltage: `±(0.5‰ + 2 digits)` |
|
| 39 |
+ - current: `±(1‰ + 4 digits)` |
|
| 40 |
+- refresh rate: `2 Hz` |
|
| 41 |
+- quick-charge recognition claims support for: |
|
| 42 |
+ - `QC2.0` |
|
| 43 |
+ - `QC3.0` |
|
| 44 |
+ - Apple `2.4A / 2.1A / 1A / 0.5A` |
|
| 45 |
+ - `Android DCP` |
|
| 46 |
+ - `SAMSUNG` |
|
| 47 |
+ |
|
| 48 |
+## Hardware and UI Notes |
|
| 49 |
+ |
|
| 50 |
+- hardware layout includes: |
|
| 51 |
+ - `Micro USB` port |
|
| 52 |
+ - `USB-A female` port |
|
| 53 |
+ - `USB-A male` port |
|
| 54 |
+ - `Type-C input` port |
|
| 55 |
+ - `Type-C output` port |
|
| 56 |
+ - Bluetooth switch |
|
| 57 |
+ - Bluetooth indicator |
|
| 58 |
+- the manual says both Type-C ports expose only `VBUS`, `GND`, `CC1`, and `CC2` |
|
| 59 |
+- the interface model is the same six-page pattern seen in related manuals: |
|
| 60 |
+ - main measurement |
|
| 61 |
+ - quick-charge recognition |
|
| 62 |
+ - charging record |
|
| 63 |
+ - cable impedance measurement |
|
| 64 |
+ - graphing |
|
| 65 |
+ - system settings |
|
| 66 |
+ |
|
| 67 |
+## Measurement and Storage Behavior |
|
| 68 |
+ |
|
| 69 |
+- the main screen shows voltage, current, power, temperature, accumulated `mAh`, accumulated `mWh`, load impedance, and active data-group index |
|
| 70 |
+- the device provides `10` data groups: `0-9` |
|
| 71 |
+- groups `1-9` persist accumulated `mAh` and `mWh` across power cycles |
|
| 72 |
+- group `0` is temporary and resets once accumulation resumes past `1 mAh` |
|
| 73 |
+- holding `PREV` clears the active group totals |
|
| 74 |
+ |
|
| 75 |
+## Recording and Cable Testing |
|
| 76 |
+ |
|
| 77 |
+- recording starts automatically when current rises above the configured low-current trigger |
|
| 78 |
+- trigger range: `0.01 A` to `0.30 A` |
|
| 79 |
+- graphing includes: |
|
| 80 |
+ - voltage/current over time |
|
| 81 |
+ - `D+` / `D-` voltage over time |
|
| 82 |
+- cable resistance mode uses a two-step differential measurement: |
|
| 83 |
+ 1. measure directly at the charger under load |
|
| 84 |
+ 2. repeat through the cable under test at the same load |
|
| 85 |
+ |
|
| 86 |
+Practical notes from the manual: |
|
| 87 |
+ |
|
| 88 |
+- recommended cable-test load is approximately `1 A` |
|
| 89 |
+- if voltage drop is too high, the tester can power down near `4 V` |
|
| 90 |
+- the tester must be power-cycled after cable-resistance measurement to resume normal mode |
|
| 91 |
+ |
|
| 92 |
+## Settings |
|
| 93 |
+ |
|
| 94 |
+- auto screen-off: `0-9 min` |
|
| 95 |
+- brightness: `0-5` |
|
| 96 |
+- temperature unit: `C` / `F` |
|
| 97 |
+- theme background color |
|
| 98 |
+- theme foreground color |
|
| 99 |
+- hidden boot menu options: |
|
| 100 |
+ - Chinese UI |
|
| 101 |
+ - English UI |
|
| 102 |
+ - reset settings |
|
| 103 |
+ |
|
| 104 |
+## Android App Notes |
|
| 105 |
+ |
|
| 106 |
+Confirmed from the manual: |
|
| 107 |
+ |
|
| 108 |
+- minimum Android version: `5.0` |
|
| 109 |
+- app distribution: |
|
| 110 |
+ - vendor MediaFire folder for `UM25` |
|
| 111 |
+ - Google Play search term: `UM Meter` |
|
| 112 |
+- pairing code: `1234` |
|
| 113 |
+- app features include: |
|
| 114 |
+ - Bluetooth connection |
|
| 115 |
+ - export to phone storage |
|
| 116 |
+ - sharing exported files to other apps |
|
| 117 |
+ - multi-language UI |
|
| 118 |
+ - voltage/current graph |
|
| 119 |
+ - quick-charge mode display |
|
| 120 |
+ - `D+` / `D-` voltage display |
|
| 121 |
+ - brightness and screen-off adjustment |
|
| 122 |
+ - temperature-unit switching |
|
| 123 |
+ - data-group switching |
|
| 124 |
+ - data-group clearing |
|
| 125 |
+ - screen rotation |
|
| 126 |
+ - low-current trigger adjustment |
|
| 127 |
+ |
|
| 128 |
+## iOS App Notes |
|
| 129 |
+ |
|
| 130 |
+Confirmed from the manual: |
|
| 131 |
+ |
|
| 132 |
+- minimum iOS version: `8.0` |
|
| 133 |
+- App Store search term: `UM Meter` |
|
| 134 |
+- workflow described by the manual: |
|
| 135 |
+ - tap `Find` to discover nearby Bluetooth devices |
|
| 136 |
+ - connect to the device |
|
| 137 |
+ - enter `data communication` |
|
| 138 |
+ - export form files |
|
| 139 |
+ - share exported files to other apps |
|
| 140 |
+ - select language in the personal center |
|
| 141 |
+- manual states the iOS app version matching the document is `1.2.1` |
|
| 142 |
+ |
|
| 143 |
+## PC Software Notes |
|
| 144 |
+ |
|
| 145 |
+- explicitly labeled for `UM25C` |
|
| 146 |
+- supported OS: `Windows 7 and above` |
|
| 147 |
+- manual references PC package `UM25C PC Software V1.3.zip` |
|
| 148 |
+- manual says to install `Arial Unicode MS` before unzipping/installing |
|
| 149 |
+- PC connection flow: |
|
| 150 |
+ - enable device Bluetooth |
|
| 151 |
+ - pair from Windows |
|
| 152 |
+ - inspect Bluetooth COM-port assignment |
|
| 153 |
+ - use the outgoing COM port labeled for `UM25C` |
|
| 154 |
+ - connect once the tester Bluetooth indicator becomes steady |
|
| 155 |
+ |
|
| 156 |
+Important PC notes from the manual: |
|
| 157 |
+ |
|
| 158 |
+- prefer the Windows built-in Bluetooth driver, not the adapter vendor driver |
|
| 159 |
+- after power-cycling the tester, select the COM port again |
|
| 160 |
+- do not press tester buttons during communication because error data may appear |
|
| 161 |
+- exported graph data is intended for Microsoft Office Excel |
|
| 162 |
+ |
|
| 163 |
+## Relevance for This Project |
|
| 164 |
+ |
|
| 165 |
+Useful as a product-behavior reference: |
|
| 166 |
+ |
|
| 167 |
+- confirms `UM25/UM25C` as a distinct documented model family |
|
| 168 |
+- confirms the same six-page device UI model used in related manuals |
|
| 169 |
+- confirms app-visible concepts we may need to represent in our model: |
|
| 170 |
+ - active data group |
|
| 171 |
+ - quick-charge mode |
|
| 172 |
+ - `D+` / `D-` levels |
|
| 173 |
+ - graph pages |
|
| 174 |
+ - low-current trigger |
|
| 175 |
+ - brightness and screen-off settings |
|
| 176 |
+- confirms that `UM25C` had vendor-supported Android, iOS, and Windows software |
|
| 177 |
+ |
|
| 178 |
+Important transport caveat: |
|
| 179 |
+ |
|
| 180 |
+- the PC section clearly describes Bluetooth COM-port use, which fits classic serial-port style communication on Windows |
|
| 181 |
+- the same manual also describes an iOS app, which means transport behavior cannot be reduced to the PC workflow alone |
|
| 182 |
+- for implementation, radio and protocol details still need to be verified from runtime captures or app analysis before we lock assumptions |
|
| 183 |
+ |
|
| 184 |
+## Relationship to Current App Scope |
|
| 185 |
+ |
|
| 186 |
+- `UM24` classic-Bluetooth serial support remains out of scope for this application |
|
| 187 |
+- this manual makes `UM25C` a higher-priority reference than `UM24C` for supported-device investigation |
|
| 188 |
+- the `C` variants remain the main target family until runtime evidence suggests otherwise |
|
| 189 |
+ |
|
| 190 |
+## Open Questions |
|
| 191 |
+ |
|
| 192 |
+- whether `UM25C` uses one Bluetooth mode for Android/Windows and another for iOS |
|
| 193 |
+- whether the iOS app talks to the same payload structure as Android and PC software |
|
| 194 |
+- whether `UM34C` and `UM25C` share identical transport and field mappings |
|
@@ -0,0 +1,156 @@ |
||
| 1 |
+# UM34C Manual Working Summary |
|
| 2 |
+ |
|
| 3 |
+This note summarizes the imported manual [`User_Manual_UM34C.pdf`](../Manuals/User_Manual_UM34C.pdf) as a working reference for the project. |
|
| 4 |
+ |
|
| 5 |
+## Source Snapshot |
|
| 6 |
+ |
|
| 7 |
+- imported file: `Documentation/Research Resources/Manuals/User_Manual_UM34C.pdf` |
|
| 8 |
+- source filename: `User_Manual_UM34C.pdf` |
|
| 9 |
+- pages: `12` |
|
| 10 |
+- creator metadata: `Microsoft Word 2016` |
|
| 11 |
+- SHA-1: `71f6ccae85ba6930e626208e24f66dead07d3e52` |
|
| 12 |
+ |
|
| 13 |
+## Scope and Labeling Caveat |
|
| 14 |
+ |
|
| 15 |
+The document should be treated as a family-level reference, not yet a clean single-model specification. |
|
| 16 |
+ |
|
| 17 |
+Confirmed inconsistencies inside the PDF: |
|
| 18 |
+ |
|
| 19 |
+- the source filename points to `UM34C` |
|
| 20 |
+- the first instruction heading says `-Model: UM25/UM25C` |
|
| 21 |
+- the technical parameter block says `Model: UM34/UM34C` |
|
| 22 |
+- the app section is titled `UM34C Android APP Instruction` |
|
| 23 |
+ |
|
| 24 |
+Working interpretation: |
|
| 25 |
+ |
|
| 26 |
+- the manual most likely describes a closely related `UM25C` / `UM34C` family device |
|
| 27 |
+- UI flow and user-facing features are likely reusable across the family |
|
| 28 |
+- protocol details should not be assumed from this manual alone because it is operational documentation, not a transport spec |
|
| 29 |
+ |
|
| 30 |
+## Confirmed Device Capabilities |
|
| 31 |
+ |
|
| 32 |
+- color LCD display: `1.44 inch` |
|
| 33 |
+- measurement ranges: |
|
| 34 |
+ - voltage: `4-24.00 V` |
|
| 35 |
+ - current: `0-4.000 A` |
|
| 36 |
+ - capacity: `0-99999 mAh` |
|
| 37 |
+ - energy: `0-99999 mWh` and `0-999.99 Wh` |
|
| 38 |
+ - temperature: `-10 C to 100 C` |
|
| 39 |
+- refresh rate: `2 Hz` |
|
| 40 |
+- quick-charge recognition claims support for: |
|
| 41 |
+ - `QC2.0` |
|
| 42 |
+ - `QC3.0` |
|
| 43 |
+ - Apple `2.4A / 2.1A / 1A / 0.5A` |
|
| 44 |
+ - `Android DCP` |
|
| 45 |
+ - `SAMSUNG` |
|
| 46 |
+- port and hardware notes: |
|
| 47 |
+ - USB 3.0 `A male` |
|
| 48 |
+ - USB 3.0 `A female` |
|
| 49 |
+ - `Micro USB` |
|
| 50 |
+ - `Type-C input` |
|
| 51 |
+ - Bluetooth switch and Bluetooth status indicator are present on the `C` variant |
|
| 52 |
+ |
|
| 53 |
+## Important Functional Notes |
|
| 54 |
+ |
|
| 55 |
+### Measurement and storage |
|
| 56 |
+ |
|
| 57 |
+- the main screen exposes voltage, current, power, temperature, accumulated `mAh`, accumulated `mWh`, load impedance, and current data-group index |
|
| 58 |
+- the tester offers `10` data groups: `0-9` |
|
| 59 |
+- groups `1-9` persist accumulated `mAh` and `mWh` across power cycles |
|
| 60 |
+- group `0` behaves as temporary storage and is cleared when accumulation resumes beyond `1 mAh` |
|
| 61 |
+- holding `PREV` clears the current accumulated `mAh` and `mWh` |
|
| 62 |
+ |
|
| 63 |
+### Screen flow |
|
| 64 |
+ |
|
| 65 |
+The manual describes six interface pages: |
|
| 66 |
+ |
|
| 67 |
+- main measurement interface |
|
| 68 |
+- quick-charge recognition interface |
|
| 69 |
+- charging record interface |
|
| 70 |
+- data cable impedance measurement interface |
|
| 71 |
+- graphing interface |
|
| 72 |
+- system parameter setting interface |
|
| 73 |
+ |
|
| 74 |
+### Recording behavior |
|
| 75 |
+ |
|
| 76 |
+- charging record mode auto-starts when current rises above a configurable trigger |
|
| 77 |
+- trigger range: `0.01 A` to `0.30 A` |
|
| 78 |
+- the device records accumulated capacity, energy, and elapsed time |
|
| 79 |
+ |
|
| 80 |
+### Cable resistance measurement |
|
| 81 |
+ |
|
| 82 |
+The cable test is a two-step differential measurement: |
|
| 83 |
+ |
|
| 84 |
+1. connect the tester directly to the power supply and record voltage/current under load |
|
| 85 |
+2. reconnect through the cable under test at the same load and record again |
|
| 86 |
+ |
|
| 87 |
+Practical implications: |
|
| 88 |
+ |
|
| 89 |
+- the manual recommends approximately `1 A` load for the test |
|
| 90 |
+- if voltage drop is too high, the tester can brown out near `4 V` |
|
| 91 |
+- after finishing the cable-resistance test, the manual says the tester must be power-cycled to return to normal measurement |
|
| 92 |
+ |
|
| 93 |
+### Graphing |
|
| 94 |
+ |
|
| 95 |
+- one graph view shows voltage and current over time |
|
| 96 |
+- a second graph view shows `D+` / `D-` voltages over time |
|
| 97 |
+ |
|
| 98 |
+### Settings |
|
| 99 |
+ |
|
| 100 |
+User-facing settings documented in the manual: |
|
| 101 |
+ |
|
| 102 |
+- auto screen-off: `0-9 min` |
|
| 103 |
+- brightness: `0-5` |
|
| 104 |
+- temperature unit: `C` / `F` |
|
| 105 |
+- theme background color |
|
| 106 |
+- theme foreground color |
|
| 107 |
+ |
|
| 108 |
+## Android App Notes |
|
| 109 |
+ |
|
| 110 |
+The manual includes an Android app section, but still at workflow level only. |
|
| 111 |
+ |
|
| 112 |
+Confirmed app notes: |
|
| 113 |
+ |
|
| 114 |
+- minimum Android version: `5.0` |
|
| 115 |
+- pairing code: `0000` or `1234` |
|
| 116 |
+- the app can: |
|
| 117 |
+ - connect over Bluetooth |
|
| 118 |
+ - export recorded data to phone storage |
|
| 119 |
+ - switch language |
|
| 120 |
+ - display graph pages |
|
| 121 |
+ - show quick-charge and `D+` / `D-` values |
|
| 122 |
+ - adjust brightness and screen-off timer |
|
| 123 |
+ - switch temperature units |
|
| 124 |
+ - clear current data group |
|
| 125 |
+ - rotate the tester display |
|
| 126 |
+ - adjust low-current trigger value |
|
| 127 |
+ |
|
| 128 |
+## Relevance for This Project |
|
| 129 |
+ |
|
| 130 |
+Useful as a product-behavior reference: |
|
| 131 |
+ |
|
| 132 |
+- confirms the user-visible page model and feature set |
|
| 133 |
+- confirms persistent data groups and their semantics |
|
| 134 |
+- confirms graphing and recording features that may exist in app or payload state |
|
| 135 |
+- confirms Bluetooth control exists on the `C` variant |
|
| 136 |
+- confirms `D+` / `D-` readings and quick-charge mode are first-class features |
|
| 137 |
+ |
|
| 138 |
+Not sufficient as a protocol reference: |
|
| 139 |
+ |
|
| 140 |
+- no BLE services, characteristics, or packet format are documented |
|
| 141 |
+- no field-level payload mapping is documented |
|
| 142 |
+- no desktop or mobile transport framing is documented |
|
| 143 |
+- no model-to-model compatibility table is documented |
|
| 144 |
+ |
|
| 145 |
+## Working Assumptions |
|
| 146 |
+ |
|
| 147 |
+- treat this manual as valid for shared UI concepts across at least part of the `UM25C` / `UM34C` family |
|
| 148 |
+- do not treat quick-charge detection strings as authoritative protocol identifiers |
|
| 149 |
+- do not assume the USB-C input is a full Type-C measurement path; the manual limits it to a narrower role |
|
| 150 |
+- continue comparing runtime observations with this manual before promoting anything to a hard specification |
|
| 151 |
+ |
|
| 152 |
+## Open Questions |
|
| 153 |
+ |
|
| 154 |
+- whether `UM25C` and `UM34C` expose identical Bluetooth payloads |
|
| 155 |
+- whether the Android app supports more device variants than the manual title suggests |
|
| 156 |
+- whether the non-`C` variants share the same UI/page layout but without Bluetooth control |
|
@@ -0,0 +1,20 @@ |
||
| 1 |
+# Vendor Contacts |
|
| 2 |
+ |
|
| 3 |
+This folder stores vendor contact documents and notes extracted from archived material. |
|
| 4 |
+ |
|
| 5 |
+## Imported Files |
|
| 6 |
+ |
|
| 7 |
+### `Factory technical support and conctact way .docx` |
|
| 8 |
+ |
|
| 9 |
+- status: added to repository |
|
| 10 |
+- source: `UM24` archive |
|
| 11 |
+- SHA-1: `f1bda965c4845e51fe901d49a3ebb52f6fc9fbbb` |
|
| 12 |
+- extraction status: key contact fields manually extracted |
|
| 13 |
+- duplicate note: the same file was also present in the `TC66` archive and was not imported twice |
|
| 14 |
+ |
|
| 15 |
+## Extracted Contact Fields |
|
| 16 |
+ |
|
| 17 |
+- email: `1749808860@qq.com` |
|
| 18 |
+- WeChat: `15868147353` |
|
| 19 |
+- AliExpress store: `https://rdtech.aliexpress.com/store/923042` |
|
| 20 |
+- YouTube: `https://www.youtube.com/channel/UCy73jJ5-ZqhPzT7wJ6KTIaw?view_as=subscriber` |
|
@@ -57,9 +57,29 @@ |
||
| 57 | 57 |
1C6B6B8B2A2D4F5100A0B001 /* Project History.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "Project History.md"; sourceTree = "<group>"; };
|
| 58 | 58 |
1C6B6B8D2A2D4F5100A0B001 /* Research Resources README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
| 59 | 59 |
1C6B6B8F2A2D4F5100A0B001 /* Manuals README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
| 60 |
+ 1C6B6B972A2D4F5100A0B001 /* USB tester UM24C - User Manual.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "USB tester UM24C - User Manual.pdf"; sourceTree = "<group>"; };
|
|
| 61 |
+ 1C6B6BA52A2D4F5100A0B001 /* TC66.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = TC66.pdf; sourceTree = "<group>"; };
|
|
| 62 |
+ 1C6B6BA62A2D4F5100A0B001 /* User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf"; sourceTree = "<group>"; };
|
|
| 63 |
+ 1C6B6BAA2A2D4F5100A0B001 /* UM25 User Manual.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "UM25 User Manual.pdf"; sourceTree = "<group>"; };
|
|
| 64 |
+ 1C6B6BAB2A2D4F5100A0B001 /* User_Manual_UM34C.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = User_Manual_UM34C.pdf; sourceTree = "<group>"; };
|
|
| 65 |
+ 1C6B6B982A2D4F5100A0B001 /* Software README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
|
| 66 |
+ 1C6B6B992A2D4F5100A0B001 /* Android Apps README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
|
| 67 |
+ 1C6B6B9A2A2D4F5100A0B001 /* PC Software README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
|
| 68 |
+ 1C6B6B9B2A2D4F5100A0B001 /* Vendor Contacts README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
|
| 69 |
+ 1C6B6B9C2A2D4F5100A0B001 /* UM Meter_V3.0.5.apk */ = {isa = PBXFileReference; lastKnownFileType = file; path = "UM Meter_V3.0.5.apk"; sourceTree = "<group>"; };
|
|
| 70 |
+ 1C6B6B9D2A2D4F5100A0B001 /* RuiDeng_V1.0.2.apk */ = {isa = PBXFileReference; lastKnownFileType = file; path = RuiDeng_V1.0.2.apk; sourceTree = "<group>"; };
|
|
| 71 |
+ 1C6B6BA72A2D4F5100A0B001 /* TC66C_V1.1.6.apk */ = {isa = PBXFileReference; lastKnownFileType = file; path = TC66C_V1.1.6.apk; sourceTree = "<group>"; };
|
|
| 72 |
+ 1C6B6BA82A2D4F5100A0B001 /* RuiDengUSBMeter_V1.0.0.6.rar */ = {isa = PBXFileReference; lastKnownFileType = file; path = RuiDengUSBMeter_V1.0.0.6.rar; sourceTree = "<group>"; };
|
|
| 73 |
+ 1C6B6B9F2A2D4F5100A0B001 /* Factory technical support and conctact way .docx */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Factory technical support and conctact way .docx"; sourceTree = "<group>"; };
|
|
| 60 | 74 |
1C6B6B912A2D4F5100A0B001 /* Specifications README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
| 75 |
+ 1C6B6BA42A2D4F5100A0B001 /* UM24-UM25-UM34 Family Compatibility Note.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "UM24-UM25-UM34 Family Compatibility Note.md"; sourceTree = "<group>"; };
|
|
| 76 |
+ 1C6B6BA92A2D4F5100A0B001 /* TC66 Resource Inventory.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TC66 Resource Inventory.md"; sourceTree = "<group>"; };
|
|
| 77 |
+ 1C6B6BAC2A2D4F5100A0B001 /* UM34C Manual Working Summary.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "UM34C Manual Working Summary.md"; sourceTree = "<group>"; };
|
|
| 78 |
+ 1C6B6BAD2A2D4F5100A0B001 /* UM25 Manual Working Summary.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "UM25 Manual Working Summary.md"; sourceTree = "<group>"; };
|
|
| 79 |
+ 1C6B6BAE2A2D4F5100A0B001 /* TC66 Manuals Working Summary.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TC66 Manuals Working Summary.md"; sourceTree = "<group>"; };
|
|
| 61 | 80 |
1C6B6B932A2D4F5100A0B001 /* Payload Notes README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
| 62 | 81 |
1C6B6B962A2D4F5100A0B001 /* UM24C-UM25C-UM34C from floriandotorg-um24c.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "UM24C-UM25C-UM34C from floriandotorg-um24c.md"; sourceTree = "<group>"; };
|
| 82 |
+ 1C6B6BAF2A2D4F5100A0B001 /* TC66C Transport and Payload Working Note.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = "TC66C Transport and Payload Working Note.md"; sourceTree = "<group>"; };
|
|
| 63 | 83 |
4308CF8524176CAB0002E80B /* DataGroupRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataGroupRowView.swift; sourceTree = "<group>"; };
|
| 64 | 84 |
4308CF872417770D0002E80B /* DataGroupsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataGroupsView.swift; sourceTree = "<group>"; };
|
| 65 | 85 |
430CB4FB245E07EB006525C2 /* ChevronView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChevronView.swift; sourceTree = "<group>"; };
|
@@ -134,6 +154,8 @@ |
||
| 134 | 154 |
children = ( |
| 135 | 155 |
1C6B6B8D2A2D4F5100A0B001 /* Research Resources README.md */, |
| 136 | 156 |
1C6B6B8E2A2D4F5100A0B001 /* Manuals */, |
| 157 |
+ 1C6B6BA02A2D4F5100A0B001 /* Software */, |
|
| 158 |
+ 1C6B6BA32A2D4F5100A0B001 /* Vendor Contacts */, |
|
| 137 | 159 |
1C6B6B902A2D4F5100A0B001 /* Specifications */, |
| 138 | 160 |
1C6B6B922A2D4F5100A0B001 /* Payload Notes */, |
| 139 | 161 |
); |
@@ -144,6 +166,11 @@ |
||
| 144 | 166 |
isa = PBXGroup; |
| 145 | 167 |
children = ( |
| 146 | 168 |
1C6B6B8F2A2D4F5100A0B001 /* Manuals README.md */, |
| 169 |
+ 1C6B6B972A2D4F5100A0B001 /* USB tester UM24C - User Manual.pdf */, |
|
| 170 |
+ 1C6B6BA52A2D4F5100A0B001 /* TC66.pdf */, |
|
| 171 |
+ 1C6B6BA62A2D4F5100A0B001 /* User Maual for Operation and PC software and APP of TC66(C) Type-c USB PD Trigger Meter 2019.6.5.pdf */, |
|
| 172 |
+ 1C6B6BAB2A2D4F5100A0B001 /* User_Manual_UM34C.pdf */, |
|
| 173 |
+ 1C6B6BAA2A2D4F5100A0B001 /* UM25 User Manual.pdf */, |
|
| 147 | 174 |
); |
| 148 | 175 |
path = Manuals; |
| 149 | 176 |
sourceTree = "<group>"; |
@@ -152,15 +179,60 @@ |
||
| 152 | 179 |
isa = PBXGroup; |
| 153 | 180 |
children = ( |
| 154 | 181 |
1C6B6B912A2D4F5100A0B001 /* Specifications README.md */, |
| 182 |
+ 1C6B6BA42A2D4F5100A0B001 /* UM24-UM25-UM34 Family Compatibility Note.md */, |
|
| 183 |
+ 1C6B6BA92A2D4F5100A0B001 /* TC66 Resource Inventory.md */, |
|
| 184 |
+ 1C6B6BAC2A2D4F5100A0B001 /* UM34C Manual Working Summary.md */, |
|
| 185 |
+ 1C6B6BAD2A2D4F5100A0B001 /* UM25 Manual Working Summary.md */, |
|
| 186 |
+ 1C6B6BAE2A2D4F5100A0B001 /* TC66 Manuals Working Summary.md */, |
|
| 155 | 187 |
); |
| 156 | 188 |
path = Specifications; |
| 157 | 189 |
sourceTree = "<group>"; |
| 158 | 190 |
}; |
| 191 |
+ 1C6B6BA02A2D4F5100A0B001 /* Software */ = {
|
|
| 192 |
+ isa = PBXGroup; |
|
| 193 |
+ children = ( |
|
| 194 |
+ 1C6B6B982A2D4F5100A0B001 /* Software README.md */, |
|
| 195 |
+ 1C6B6BA12A2D4F5100A0B001 /* Android Apps */, |
|
| 196 |
+ 1C6B6BA22A2D4F5100A0B001 /* PC Software */, |
|
| 197 |
+ ); |
|
| 198 |
+ path = Software; |
|
| 199 |
+ sourceTree = "<group>"; |
|
| 200 |
+ }; |
|
| 201 |
+ 1C6B6BA12A2D4F5100A0B001 /* Android Apps */ = {
|
|
| 202 |
+ isa = PBXGroup; |
|
| 203 |
+ children = ( |
|
| 204 |
+ 1C6B6B992A2D4F5100A0B001 /* Android Apps README.md */, |
|
| 205 |
+ 1C6B6B9D2A2D4F5100A0B001 /* RuiDeng_V1.0.2.apk */, |
|
| 206 |
+ 1C6B6B9C2A2D4F5100A0B001 /* UM Meter_V3.0.5.apk */, |
|
| 207 |
+ 1C6B6BA72A2D4F5100A0B001 /* TC66C_V1.1.6.apk */, |
|
| 208 |
+ ); |
|
| 209 |
+ path = "Android Apps"; |
|
| 210 |
+ sourceTree = "<group>"; |
|
| 211 |
+ }; |
|
| 212 |
+ 1C6B6BA22A2D4F5100A0B001 /* PC Software */ = {
|
|
| 213 |
+ isa = PBXGroup; |
|
| 214 |
+ children = ( |
|
| 215 |
+ 1C6B6B9A2A2D4F5100A0B001 /* PC Software README.md */, |
|
| 216 |
+ 1C6B6BA82A2D4F5100A0B001 /* RuiDengUSBMeter_V1.0.0.6.rar */, |
|
| 217 |
+ ); |
|
| 218 |
+ path = "PC Software"; |
|
| 219 |
+ sourceTree = "<group>"; |
|
| 220 |
+ }; |
|
| 221 |
+ 1C6B6BA32A2D4F5100A0B001 /* Vendor Contacts */ = {
|
|
| 222 |
+ isa = PBXGroup; |
|
| 223 |
+ children = ( |
|
| 224 |
+ 1C6B6B9B2A2D4F5100A0B001 /* Vendor Contacts README.md */, |
|
| 225 |
+ 1C6B6B9F2A2D4F5100A0B001 /* Factory technical support and conctact way .docx */, |
|
| 226 |
+ ); |
|
| 227 |
+ path = "Vendor Contacts"; |
|
| 228 |
+ sourceTree = "<group>"; |
|
| 229 |
+ }; |
|
| 159 | 230 |
1C6B6B922A2D4F5100A0B001 /* Payload Notes */ = {
|
| 160 | 231 |
isa = PBXGroup; |
| 161 | 232 |
children = ( |
| 162 | 233 |
1C6B6B932A2D4F5100A0B001 /* Payload Notes README.md */, |
| 163 | 234 |
1C6B6B962A2D4F5100A0B001 /* UM24C-UM25C-UM34C from floriandotorg-um24c.md */, |
| 235 |
+ 1C6B6BAF2A2D4F5100A0B001 /* TC66C Transport and Payload Working Note.md */, |
|
| 164 | 236 |
); |
| 165 | 237 |
path = "Payload Notes"; |
| 166 | 238 |
sourceTree = "<group>"; |