How to update mtype byte and add support for 10 smell temperature profiles #3

Open
opened 2025-06-12 21:32:02 -07:00 by robert · 0 comments
Owner

17 Sensor message change to 0x20+ 0-9 smell profile index 0x20 - 29

1:
#define MEAS_DUR 6300
uint16_t tempProf[10] = { 160, 170, 180, 190, 200, 210, 220, 230, 240, 200 };
uint16_t mulProf[10] = { 2, 3, 4, 6, 8, 10, 12, 14, 16, 20 };

2:
#define MEAS_DUR 6200
uint16_t tempProf[10] = { 220, 240, 260, 280, 300, 320, 300, 280, 340, 260 };
uint16_t mulProf[10] = { 3, 4, 5, 6, 8, 10, 12, 16, 6, 24 };

3:
#define MEAS_DUR 6200
uint16_t tempProf[10] = { 280, 300, 320, 340, 360, 320, 340, 300, 350, 330 };
uint16_t mulProf[10] = { 4, 5, 6, 7, 8, 12, 10, 16, 6, 20 };

4:
#define MEAS_DUR 6300
uint16_t tempProf[10] = { 340, 360, 350, 370, 340, 380, 360, 350, 370, 340 };
uint16_t mulProf[10] = { 4, 5, 6, 7, 10, 5, 12, 14, 8, 24 };

5:
#define MEAS_DUR 7100
uint16_t tempProf[10] = { 250, 280, 320, 350, 300, 370, 330, 360, 340, 320 };
uint16_t mulProf[10] = { 6, 8, 9, 10, 12, 7, 14, 9, 16, 20 };

6:
#define MEAS_DUR 6200
uint16_t tempProf[10] = { 260, 300, 340, 370, 320, 360, 350, 380, 330, 370 };
uint16_t mulProf[10] = { 5, 6, 7, 8, 12, 10, 11, 6, 16, 12 };

7:
#define MEAS_DUR 6200
uint16_t tempProf[10] = { 300, 330, 360, 350, 370, 340, 380, 360, 350, 370 };
uint16_t mulProf[10] = { 5, 6, 7, 8, 9, 12, 6, 14, 10, 16 };

8:
#define MEAS_DUR 7600
uint16_t tempProf[10] = { 350, 370, 360, 380, 340, 370, 360, 350, 380, 370 };
uint16_t mulProf[10] = { 8, 9, 10, 7, 16, 12, 14, 18, 8, 20 };

9:
#define MEAS_DUR 7300
uint16_t tempProf[10] = { 300, 300, 300, 300, 300, 300, 300, 300, 300, 300 };
uint16_t mulProf[10] = { 5, 10, 20, 40, 80, 12, 160, 200, 40, 10 };

10:
#define MEAS_DUR 4700
uint16_t tempProf[10] = { 380, 390, 400, 350, 380, 390, 370, 400, 320, 200 };
uint16_t mulProf[10] = { 20, 15, 10, 30, 25, 20, 40, 8, 50, 100 };

All profiles complete well within 10 seconds (longest is 7.6 seconds)
The calculations assume sharedHeatrDur will be approximately 50ms for most profiles (10ms for profiles 9 and 10)
Profile 9 is interesting - it uses the same temperature (300°C) for all steps but varies the duration
Profile 8 has the longest total measurement time at 6.1 seconds of heating + ~1.5 seconds TPH = 7.6 seconds total

------rest stays the same -----
16 Radar message 0x10
1 Pressure event
2 Temperature event
3 Humidity event
4 Light event

17 Sensor message change to 0x20+ 0-9 smell profile index 0x20 - 29 1: #define MEAS_DUR 6300 uint16_t tempProf[10] = { 160, 170, 180, 190, 200, 210, 220, 230, 240, 200 }; uint16_t mulProf[10] = { 2, 3, 4, 6, 8, 10, 12, 14, 16, 20 }; 2: #define MEAS_DUR 6200 uint16_t tempProf[10] = { 220, 240, 260, 280, 300, 320, 300, 280, 340, 260 }; uint16_t mulProf[10] = { 3, 4, 5, 6, 8, 10, 12, 16, 6, 24 }; 3: #define MEAS_DUR 6200 uint16_t tempProf[10] = { 280, 300, 320, 340, 360, 320, 340, 300, 350, 330 }; uint16_t mulProf[10] = { 4, 5, 6, 7, 8, 12, 10, 16, 6, 20 }; 4: #define MEAS_DUR 6300 uint16_t tempProf[10] = { 340, 360, 350, 370, 340, 380, 360, 350, 370, 340 }; uint16_t mulProf[10] = { 4, 5, 6, 7, 10, 5, 12, 14, 8, 24 }; 5: #define MEAS_DUR 7100 uint16_t tempProf[10] = { 250, 280, 320, 350, 300, 370, 330, 360, 340, 320 }; uint16_t mulProf[10] = { 6, 8, 9, 10, 12, 7, 14, 9, 16, 20 }; 6: #define MEAS_DUR 6200 uint16_t tempProf[10] = { 260, 300, 340, 370, 320, 360, 350, 380, 330, 370 }; uint16_t mulProf[10] = { 5, 6, 7, 8, 12, 10, 11, 6, 16, 12 }; 7: #define MEAS_DUR 6200 uint16_t tempProf[10] = { 300, 330, 360, 350, 370, 340, 380, 360, 350, 370 }; uint16_t mulProf[10] = { 5, 6, 7, 8, 9, 12, 6, 14, 10, 16 }; 8: #define MEAS_DUR 7600 uint16_t tempProf[10] = { 350, 370, 360, 380, 340, 370, 360, 350, 380, 370 }; uint16_t mulProf[10] = { 8, 9, 10, 7, 16, 12, 14, 18, 8, 20 }; 9: #define MEAS_DUR 7300 uint16_t tempProf[10] = { 300, 300, 300, 300, 300, 300, 300, 300, 300, 300 }; uint16_t mulProf[10] = { 5, 10, 20, 40, 80, 12, 160, 200, 40, 10 }; 10: #define MEAS_DUR 4700 uint16_t tempProf[10] = { 380, 390, 400, 350, 380, 390, 370, 400, 320, 200 }; uint16_t mulProf[10] = { 20, 15, 10, 30, 25, 20, 40, 8, 50, 100 }; All profiles complete well within 10 seconds (longest is 7.6 seconds) The calculations assume sharedHeatrDur will be approximately 50ms for most profiles (10ms for profiles 9 and 10) Profile 9 is interesting - it uses the same temperature (300°C) for all steps but varies the duration Profile 8 has the longest total measurement time at 6.1 seconds of heating + ~1.5 seconds TPH = 7.6 seconds total ------rest stays the same ----- 16 Radar message 0x10 1 Pressure event 2 Temperature event 3 Humidity event 4 Light event
mzmrzli was assigned by robert 2025-06-12 21:32:02 -07:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: robert/project-issues#3
No description provided.