Chip-cn-dat/Espressif-dat/ESP32-S3-DAT/ESP32-S3-DAT.md
... ...
@@ -3,12 +3,7 @@
3 3
4 4
- [[ESP32-S3-chip-DAT]] - [[ESP32-S3-module-DAT]] - [[ESP32-S3-app-DAT]]
5 5
6
-- [[ESP32-SDK-dat]] - [[ESP-SDK-dat]]
7
-
8
-- [[ESP32-S3-SDK-dat]]
9
-
10
-
11
-
6
+- [[ESP32-S3-SDK-dat]] - [[ESP32-SDK-dat]] - [[ESP-SDK-dat]]
12 7
13 8
14 9
Chip-cn-dat/Espressif-dat/ESP32-S3-DAT/ESP32-S3-SDK-dat/ESP32-S3-SDK-dat.md
... ...
@@ -11,6 +11,7 @@
11 11
12 12
- [[LVGL-dat]]
13 13
14
+- [[BLE-dat]] - [[memory-dat]] - [[data-storage-dat]]
14 15
15 16
esptool erase-flash
16 17
esptool v5.0.1
... ...
@@ -30,8 +31,8 @@ REPL is on the USB-OTG connector.
30 31
31 32
## features
32 33
33
-- [] [[USB-MSC-dat]]
34
-- [] [[USB-MTP-dat]]
34
+- [[USB-MSC-dat]]
35
+- [[USB-MTP-dat]]
35 36
36 37
- [[USB-dat]] - [[USB-OTG-dat]] - [[tinyUSB-dat]]
37 38
Network-dat/Bluetooth-dat/BLE-dat/BLE-dat.md
... ...
@@ -1,6 +1,8 @@
1 1
2 2
# BLE-dat
3 3
4
+- [[data-storage-dat]]
5
+
4 6
5 7
6 8
### Mobile Apps for BLE Debugging
... ...
@@ -66,8 +68,6 @@ For Android devices, you can directly install the following apps:
66 68
- Wireshark
67 69
68 70
69
-
70
-
71 71
## ref
72 72
73 73
- [[antenna-design-dat]]
... ...
\ No newline at end of file
Tech-dat/memory-dat/data-storage-dat/data-storage-dat.md
... ...
@@ -44,6 +44,62 @@
44 44
45 45
46 46
47
+BLE server code example (Arduino):
48
+
49
+```cpp
50
+ #include <BLEDevice.h>
51
+ #include <BLEUtils.h>
52
+ #include <BLEServer.h>
53
+ #include <SPIFFS.h>
54
+
55
+ #define SERVICE_UUID "1234"
56
+ #define CHARACTERISTIC_UUID "5678"
57
+
58
+ File dataFile;
59
+ String buffer = "";
60
+
61
+ class MyCallbacks: public BLECharacteristicCallbacks {
62
+ void onWrite(BLECharacteristic *pCharacteristic) {
63
+ std::string rxValue = pCharacteristic->getValue();
64
+ if (rxValue.length() > 0) {
65
+ buffer += rxValue.c_str();
66
+ }
67
+ }
68
+ };
69
+
70
+ void setup() {
71
+ Serial.begin(115200);
72
+ SPIFFS.begin(true);
73
+
74
+ BLEDevice::init("ESP32");
75
+ BLEServer *pServer = BLEDevice::createServer();
76
+ BLEService *pService = pServer->createService(SERVICE_UUID);
77
+ BLECharacteristic *pCharacteristic = pService->createCharacteristic(
78
+ CHARACTERISTIC_UUID,
79
+ BLECharacteristic::PROPERTY_WRITE
80
+ );
81
+ pCharacteristic->setCallbacks(new MyCallbacks());
82
+ pService->start();
83
+ BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
84
+ pAdvertising->addServiceUUID(SERVICE_UUID);
85
+ pAdvertising->start();
86
+
87
+ Serial.println("Waiting for BLE data...");
88
+ }
89
+
90
+ void loop() {
91
+ // Example: once data transfer finished, write to SPIFFS
92
+ if (buffer.endsWith("EOF")) { // simple marker
93
+ dataFile = SPIFFS.open("/data.txt", FILE_WRITE);
94
+ dataFile.print(buffer);
95
+ dataFile.close();
96
+ buffer = "";
97
+ Serial.println("File updated!");
98
+ }
99
+ }
100
+```
101
+
102
+
47 103
## ref
48 104
49 105
- [[memory-dat]]
... ...
\ No newline at end of file
fab-dat/fab-PCBA-dat/high-precise-printing-dat/high-precise-printing-dat.md
... ...
@@ -1,6 +1,8 @@
1 1
2 2
# high-precise-printing-dat
3 3
4
+- [[solder-bridging-dat]]
5
+
4 6
## 1. Stencil Thickness
5 7
- **Recommended**: 0.10 mm (4 mil) stainless steel
6 8
- Sometimes 0.12 mm (5 mil) can work, but **risk of bridging increases**