Usually this issue occurs when the scale pairs, but then no data is received. Focus on last red sentence, timing issue.
1. Check Registration Status:
- In the `didDiscoverPeripheral` callback, use `kCBAdvDataManufacturerData` to check if the scale device is already registered.
2. Handle Registration:
- If the scale device is not registered, the SDK sends a registration request and waits for a registration response.
- If the scale device is already registered, the SDK waits for a Scale Login request.
3. Post-Registration Process:
- After successful registration, the scale device sends a login request.
- The app accepts this request and replies back.
4. User Binding:
- The app sends a Bind User request.
- The scale device accepts this request and replies back (this is done only once during binding).
5. Set Time:
- The app sends a Set Time UTC request.
- The scale device accepts this request and replies back.
6. Initialisation:
- The scale device sends an Init request.
- The app accepts this request and replies back.
7. Data Synchronisation:
- The app sends a Data Sync request.
- The scale device accepts this request and replies back.
- The scale device starts the data synchronization process.
Add a microsecond delay between operations to ensure proper synchronization.