|
| 1 | +# TAK Mesh Integration — Testing Punchlist |
| 2 | + |
| 3 | +Manual testing checklist for ATAK ↔ iTAK over Meshtastic mesh. Covers all payload types supported by the TAKPacket-SDK v2 protocol. |
| 4 | + |
| 5 | +**Setup:** ATAK on Android tablet connected to Meshtastic radio via the Meshtastic app's built-in TAK server. iTAK on iPad connected to a separate Meshtastic radio via the Meshtastic Apple app's built-in TAK server. Both radios on the same mesh channel. |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## 1. PLI — Position Location Info |
| 10 | + |
| 11 | +| # | Test | Direction | Steps | Expected | Pass | |
| 12 | +|---|------|-----------|-------|----------|------| |
| 13 | +| 1.1 | Basic PLI | ATAK → iTAK | ATAK moves on map | iTAK shows ATAK's position icon updating | ☐ | |
| 14 | +| 1.2 | Basic PLI | iTAK → ATAK | iTAK moves on map | ATAK shows iTAK's position icon updating | ☐ | |
| 15 | +| 1.3 | Callsign | Both | Set callsign on each client | Correct callsign displayed on the other | ☐ | |
| 16 | +| 1.4 | Team color | Both | Set team color (e.g. Cyan, Red) | Correct team color on the other side | ☐ | |
| 17 | +| 1.5 | Battery | Both | Check battery level shown | Battery % matches sender's device | ☐ | |
| 18 | + |
| 19 | +## 2. GeoChat — Text Messages |
| 20 | + |
| 21 | +| # | Test | Direction | Steps | Expected | Pass | |
| 22 | +|---|------|-----------|-------|----------|------| |
| 23 | +| 2.1 | Broadcast chat | ATAK → iTAK | Send message to "All Chat Rooms" | Message appears in iTAK chat with correct text and sender | ☐ | |
| 24 | +| 2.2 | Broadcast chat | iTAK → ATAK | Send message to "All Chat Rooms" | Message appears in ATAK chat with correct text and sender | ☐ | |
| 25 | +| 2.3 | Message text preserved | Both | Send "Hello from mesh!" | Exact text displayed, no empty messages | ☐ | |
| 26 | +| 2.4 | Special characters | Both | Send message with `& < > "` | Characters displayed correctly (XML escaping works) | ☐ | |
| 27 | +| 2.5 | Long message | Both | Send a ~150 character message | Message delivered (may be truncated if exceeds MTU) | ☐ | |
| 28 | + |
| 29 | +## 3. Drawn Shapes — Geometry |
| 30 | + |
| 31 | +| # | Test | Direction | Steps | Expected | Pass | |
| 32 | +|---|------|-----------|-------|----------|------| |
| 33 | +| 3.1 | Circle | ATAK → iTAK | Draw a circle on map | iTAK shows circle at same location with same size | ☐ | |
| 34 | +| 3.2 | Circle | iTAK → ATAK | Draw a circle on map | ATAK shows circle at same location with same size | ☐ | |
| 35 | +| 3.3 | Rectangle | ATAK → iTAK | Draw a rectangle | iTAK shows rectangle with correct vertices | ☐ | |
| 36 | +| 3.4 | Rectangle | iTAK → ATAK | Draw a rectangle | ATAK shows rectangle with correct vertices | ☐ | |
| 37 | +| 3.5 | Freeform polyline | ATAK → iTAK | Draw a freeform line | iTAK shows polyline with correct shape | ☐ | |
| 38 | +| 3.6 | Freeform polyline | iTAK → ATAK | Draw a freeform line | ATAK shows polyline with correct shape | ☐ | |
| 39 | +| 3.7 | Polygon | Either | Draw a closed polygon | Other side shows correct polygon shape | ☐ | |
| 40 | +| 3.8 | Stroke color | Both | Draw shape with non-default color (e.g. Red) | Color preserved on the other side | ☐ | |
| 41 | +| 3.9 | Fill color | Both | Draw shape with fill (semi-transparent) | Fill color and opacity preserved | ☐ | |
| 42 | +| 3.10 | Shape with remarks | Both | Add description text to a shape | Remarks text preserved on the other side (if fits under MTU) | ☐ | |
| 43 | +| 3.11 | Ellipse | Either | Draw an ellipse (major ≠ minor) | Correct ellipse proportions on other side | ☐ | |
| 44 | + |
| 45 | +## 4. Markers — Points of Interest |
| 46 | + |
| 47 | +| # | Test | Direction | Steps | Expected | Pass | |
| 48 | +|---|------|-----------|-------|----------|------| |
| 49 | +| 4.1 | Spot marker | ATAK → iTAK | Place a spot marker | iTAK shows marker at correct location with callsign | ☐ | |
| 50 | +| 4.2 | Spot marker | iTAK → ATAK | Place a spot marker | ATAK shows marker at correct location with callsign | ☐ | |
| 51 | +| 4.3 | Waypoint | Either | Place a waypoint | Other side shows waypoint marker | ☐ | |
| 52 | +| 4.4 | Checkpoint | Either | Place a checkpoint | Other side shows checkpoint marker | ☐ | |
| 53 | +| 4.5 | Marker color | Both | Set marker color (non-default) | Color preserved on the other side | ☐ | |
| 54 | +| 4.6 | Custom icon marker | Either | Place marker with custom icon | Icon type/category preserved (iconset path) | ☐ | |
| 55 | +| 4.7 | 2525 symbol | ATAK → iTAK | Place a 2525B military symbol | iTAK shows correct symbology | ☐ | |
| 56 | +| 4.8 | Marker with remarks | Both | Add description to marker | Remarks preserved (if fits under MTU) | ☐ | |
| 57 | + |
| 58 | +## 5. Routes — Waypoint Sequences |
| 59 | + |
| 60 | +| # | Test | Direction | Steps | Expected | Pass | |
| 61 | +|---|------|-----------|-------|----------|------| |
| 62 | +| 5.1 | 3-waypoint route | iTAK → ATAK | Create route with 3 waypoints | ATAK imports route via data package, visible in Route Manager | ☐ | |
| 63 | +| 5.2 | 3-waypoint route | ATAK → iTAK | Create route with 3 waypoints | iTAK shows route on map with waypoints | ☐ | |
| 64 | +| 5.3 | Route name | Both | Name the route | Route name (callsign) preserved on the other side | ☐ | |
| 65 | +| 5.4 | Walking method | Either | Create Walking route | Travel method preserved | ☐ | |
| 66 | +| 5.5 | Infil/Exfil direction | Either | Set route direction | Direction preserved | ☐ | |
| 67 | +| 5.6 | 5+ waypoint route | Either | Create route with 5-6 waypoints | Route fits under 225B MTU (UID stripping saves space) | ☐ | |
| 68 | +| 5.7 | Route with remarks | Either | Add description to route | Remarks text preserved (if fits) | ☐ | |
| 69 | + |
| 70 | +## 6. Range and Bearing |
| 71 | + |
| 72 | +| # | Test | Direction | Steps | Expected | Pass | |
| 73 | +|---|------|-----------|-------|----------|------| |
| 74 | +| 6.1 | RAB line | ATAK → iTAK | Create range/bearing measurement | iTAK shows line with distance and bearing | ☐ | |
| 75 | +| 6.2 | RAB line | iTAK → ATAK | Create range/bearing measurement | ATAK shows line with distance and bearing | ☐ | |
| 76 | + |
| 77 | +## 7. Emergency Alerts |
| 78 | + |
| 79 | +| # | Test | Direction | Steps | Expected | Pass | |
| 80 | +|---|------|-----------|-------|----------|------| |
| 81 | +| 7.1 | 911 alert | Either | Trigger 911 emergency | Other side shows emergency alert | ☐ | |
| 82 | +| 7.2 | Cancel alert | Either | Cancel the emergency | Other side removes/cancels the alert | ☐ | |
| 83 | + |
| 84 | +## 8. CASEVAC / MEDEVAC (9-Line) |
| 85 | + |
| 86 | +| # | Test | Direction | Steps | Expected | Pass | |
| 87 | +|---|------|-----------|-------|----------|------| |
| 88 | +| 8.1 | Basic CASEVAC | ATAK → iTAK | Create 9-line MEDEVAC request | iTAK receives with precedence, patient counts | ☐ | |
| 89 | +| 8.2 | Full 9-line | Either | Fill all 9 lines | All fields preserved: precedence, equipment, HLZ marking, security, patients, terrain | ☐ | |
| 90 | + |
| 91 | +## 9. Tasking |
| 92 | + |
| 93 | +| # | Test | Direction | Steps | Expected | Pass | |
| 94 | +|---|------|-----------|-------|----------|------| |
| 95 | +| 9.1 | Task request | Either | Create engage/observe task | Other side receives task with type, target, priority | ☐ | |
| 96 | + |
| 97 | +## 10. Delete Events |
| 98 | + |
| 99 | +| # | Test | Direction | Steps | Expected | Pass | |
| 100 | +|---|------|-----------|-------|----------|------| |
| 101 | +| 10.1 | Delete marker | Either | Delete a previously sent marker | Other side removes the marker from the map | ☐ | |
| 102 | +| 10.2 | Delete shape | Either | Delete a previously sent shape | Other side removes the shape | ☐ | |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## Feature-Level Verification |
| 107 | + |
| 108 | +### Stale Time Extension |
| 109 | + |
| 110 | +| # | Test | Steps | Expected | Pass | |
| 111 | +|---|------|-------|----------|------| |
| 112 | +| F.1 | Route stale | Send route from iTAK (2-min default stale) | Route still renders on ATAK (stale extended to 15 min) | ☐ | |
| 113 | +| F.2 | Shape stale | Send shape from iTAK | Shape still renders on the other side (stale extended) | ☐ | |
| 114 | +| F.3 | PLI stale unchanged | Send PLI | Stale NOT extended (dynamic position, short stale is correct) | ☐ | |
| 115 | + |
| 116 | +### Remarks Preservation (new feature) |
| 117 | + |
| 118 | +| # | Test | Steps | Expected | Pass | |
| 119 | +|---|------|-------|----------|------| |
| 120 | +| F.4 | Shape with short remarks | Add "Enemy OP spotted" to shape | Remarks visible on the other side | ☐ | |
| 121 | +| F.5 | Marker with short remarks | Add "Resupply point" to marker | Remarks visible on the other side | ☐ | |
| 122 | +| F.6 | Shape with very long remarks | Add 500+ character description | Remarks auto-stripped to fit MTU; shape still arrives | ☐ | |
| 123 | +| F.7 | Route with remarks | Add description to route | Remarks preserved if fits; route still works without them | ☐ | |
| 124 | + |
| 125 | +### Route Data Package (ATAK-specific) |
| 126 | + |
| 127 | +| # | Test | Steps | Expected | Pass | |
| 128 | +|---|------|-------|----------|------| |
| 129 | +| F.8 | Route appears in Route Manager | Send route from iTAK → ATAK | ATAK auto-imports KML data package; route in Route Manager | ☐ | |
| 130 | +| F.9 | Route waypoints match | Compare waypoint positions | Coordinates match between sender and receiver | ☐ | |
| 131 | + |
| 132 | +### GeoChat Remarks Fix (regression check) |
| 133 | + |
| 134 | +| # | Test | Steps | Expected | Pass | |
| 135 | +|---|------|-------|----------|------| |
| 136 | +| F.10 | iTAK→ATAK chat text | Send "Test message" from iTAK | ATAK shows "Test message" (not empty) | ☐ | |
| 137 | +| F.11 | ATAK→iTAK chat text | Send "Test message" from ATAK | iTAK shows "Test message" (not empty) | ☐ | |
| 138 | + |
| 139 | +### Node Broadcast Removed (regression check) |
| 140 | + |
| 141 | +| # | Test | Steps | Expected | Pass | |
| 142 | +|---|------|-------|----------|------| |
| 143 | +| F.12 | No phantom nodes | Connect ATAK to mesh with 50+ nodes | ATAK does NOT show all mesh nodes as TAK contacts — only actual TAK users | ☐ | |
| 144 | + |
| 145 | +--- |
| 146 | + |
| 147 | +## Compression Sanity Checks |
| 148 | + |
| 149 | +| # | Test | Steps | Expected | Pass | |
| 150 | +|---|------|-------|----------|------| |
| 151 | +| C.1 | PLI under MTU | Send PLI, check Android logs | Compressed size ~70B (well under 225B limit) | ☐ | |
| 152 | +| C.2 | GeoChat under MTU | Send chat, check logs | Compressed size ~80-120B | ☐ | |
| 153 | +| C.3 | Shape under MTU | Send rectangle, check logs | Compressed size ~100B | ☐ | |
| 154 | +| C.4 | Route under MTU | Send 3-waypoint route, check logs | Compressed size ~80-135B | ☐ | |
| 155 | +| C.5 | No dropped packets | Monitor logs during all tests | No "Dropping oversized" warnings | ☐ | |
| 156 | + |
| 157 | +--- |
| 158 | + |
| 159 | +## Test Pass Summary |
| 160 | + |
| 161 | +| Category | Total | Passed | Failed | Blocked | |
| 162 | +|----------|-------|--------|--------|---------| |
| 163 | +| PLI | 5 | | | | |
| 164 | +| GeoChat | 5 | | | | |
| 165 | +| Shapes | 11 | | | | |
| 166 | +| Markers | 8 | | | | |
| 167 | +| Routes | 7 | | | | |
| 168 | +| Range & Bearing | 2 | | | | |
| 169 | +| Emergency | 2 | | | | |
| 170 | +| CASEVAC | 2 | | | | |
| 171 | +| Tasking | 1 | | | | |
| 172 | +| Delete | 2 | | | | |
| 173 | +| Features | 12 | | | | |
| 174 | +| Compression | 5 | | | | |
| 175 | +| **Total** | **62** | | | | |
0 commit comments