Browse Source

update

master
zhaohe 1 year ago
parent
commit
bacd56f7a0
  1. 3
      .vscode/settings.json
  2. 180
      app/app.uvoptx
  3. 46
      app/app.uvprojx
  4. 0
      app/src/app_event.h
  5. 23
      app/src/app_event_distribute.c
  6. 15
      app/src/app_event_distribute.h
  7. 24
      app/src/ble_cmd_process_service.c
  8. 2
      app/src/ble_cmd_process_service.h
  9. 6
      app/src/board/board.h
  10. 0
      app/src/config.h
  11. 0
      app/src/device_controler.c
  12. 0
      app/src/device_controler.h
  13. 0
      app/src/device_state.c
  14. 17
      app/src/device_state.h
  15. 0
      app/src/display_manager.c
  16. 0
      app/src/display_manager.h
  17. 0
      app/src/display_manager_res.h
  18. 0
      app/src/font.h
  19. 61
      app/src/heart_wave_sample_service.c
  20. 0
      app/src/heart_wave_sample_service.h
  21. 0
      app/src/one_conduction_board.c
  22. 0
      app/src/one_conduction_board.h
  23. 29
      app/src/one_conduction_main.c
  24. 0
      app/src/one_conduction_main.h
  25. 0
      app/src/sample_data_manager.c
  26. 0
      app/src/sample_data_manager.h
  27. 0
      app/src/zeeprom_fs.c
  28. 0
      app/src/zeeprom_fs.h

3
.vscode/settings.json

@ -92,7 +92,8 @@
"ble_cmd_process_service.h": "c",
"heart_wave_sample_service.h": "c",
"device_info_mgr.h": "c",
"znordic_device_info_mgr.h": "c"
"znordic_device_info_mgr.h": "c",
"device_state.h": "c"
},
"files.encoding": "gbk"
}

180
app/app.uvoptx

@ -398,7 +398,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\one_conduction_board.c</PathWithFileName>
<PathWithFileName>.\src\one_conduction_board.c</PathWithFileName>
<FilenameWithoutPath>one_conduction_board.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -410,7 +410,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\one_conduction_main.c</PathWithFileName>
<PathWithFileName>.\src\one_conduction_main.c</PathWithFileName>
<FilenameWithoutPath>one_conduction_main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -458,7 +458,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\device_controler.c</PathWithFileName>
<PathWithFileName>.\src\device_controler.c</PathWithFileName>
<FilenameWithoutPath>device_controler.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -470,7 +470,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\display_manager.c</PathWithFileName>
<PathWithFileName>.\src\display_manager.c</PathWithFileName>
<FilenameWithoutPath>display_manager.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -506,7 +506,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\sample_data_manager.c</PathWithFileName>
<PathWithFileName>.\src\sample_data_manager.c</PathWithFileName>
<FilenameWithoutPath>sample_data_manager.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -518,7 +518,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\zeeprom_fs.c</PathWithFileName>
<PathWithFileName>.\src\zeeprom_fs.c</PathWithFileName>
<FilenameWithoutPath>zeeprom_fs.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -530,7 +530,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\heart_wave_sample_service.c</PathWithFileName>
<PathWithFileName>.\src\heart_wave_sample_service.c</PathWithFileName>
<FilenameWithoutPath>heart_wave_sample_service.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -542,7 +542,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\device_state.c</PathWithFileName>
<PathWithFileName>.\src\device_state.c</PathWithFileName>
<FilenameWithoutPath>device_state.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -554,7 +554,7 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\one_conduction\ble_cmd_process_service.c</PathWithFileName>
<PathWithFileName>.\src\ble_cmd_process_service.c</PathWithFileName>
<FilenameWithoutPath>ble_cmd_process_service.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
@ -595,6 +595,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\app_event_distribute.c</PathWithFileName>
<FilenameWithoutPath>app_event_distribute.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -605,7 +617,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -625,7 +637,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>21</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -637,7 +649,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -657,7 +669,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -677,7 +689,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -689,7 +701,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -701,7 +713,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>26</FileNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -713,7 +725,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>27</FileNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -725,7 +737,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>28</FileNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -737,7 +749,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>29</FileNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -749,7 +761,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>30</FileNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -761,7 +773,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>31</FileNumber>
<FileNumber>32</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -781,7 +793,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>32</FileNumber>
<FileNumber>33</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -801,7 +813,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>33</FileNumber>
<FileNumber>34</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -813,7 +825,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>34</FileNumber>
<FileNumber>35</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -825,7 +837,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>35</FileNumber>
<FileNumber>36</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -837,7 +849,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>36</FileNumber>
<FileNumber>37</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -849,7 +861,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>37</FileNumber>
<FileNumber>38</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -861,7 +873,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>38</FileNumber>
<FileNumber>39</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -873,7 +885,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>39</FileNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -885,7 +897,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>40</FileNumber>
<FileNumber>41</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -897,7 +909,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>41</FileNumber>
<FileNumber>42</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -909,7 +921,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>42</FileNumber>
<FileNumber>43</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -921,7 +933,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>43</FileNumber>
<FileNumber>44</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -933,7 +945,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>44</FileNumber>
<FileNumber>45</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -945,7 +957,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>45</FileNumber>
<FileNumber>46</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -957,7 +969,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>46</FileNumber>
<FileNumber>47</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -969,7 +981,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>47</FileNumber>
<FileNumber>48</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -981,7 +993,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>48</FileNumber>
<FileNumber>49</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -993,7 +1005,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>49</FileNumber>
<FileNumber>50</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1005,7 +1017,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>50</FileNumber>
<FileNumber>51</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1017,7 +1029,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>51</FileNumber>
<FileNumber>52</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1029,7 +1041,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>52</FileNumber>
<FileNumber>53</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1049,7 +1061,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>53</FileNumber>
<FileNumber>54</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1061,7 +1073,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>54</FileNumber>
<FileNumber>55</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1073,7 +1085,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>55</FileNumber>
<FileNumber>56</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1085,7 +1097,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>56</FileNumber>
<FileNumber>57</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1097,7 +1109,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>57</FileNumber>
<FileNumber>58</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1109,7 +1121,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>58</FileNumber>
<FileNumber>59</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1121,7 +1133,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>59</FileNumber>
<FileNumber>60</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1133,7 +1145,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>60</FileNumber>
<FileNumber>61</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1145,7 +1157,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>61</FileNumber>
<FileNumber>62</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1157,7 +1169,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>62</FileNumber>
<FileNumber>63</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1169,7 +1181,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>63</FileNumber>
<FileNumber>64</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1181,7 +1193,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>64</FileNumber>
<FileNumber>65</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1193,7 +1205,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>65</FileNumber>
<FileNumber>66</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1205,7 +1217,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>66</FileNumber>
<FileNumber>67</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1217,7 +1229,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>67</FileNumber>
<FileNumber>68</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1229,7 +1241,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>68</FileNumber>
<FileNumber>69</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1241,7 +1253,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>69</FileNumber>
<FileNumber>70</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1253,7 +1265,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>70</FileNumber>
<FileNumber>71</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1265,7 +1277,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>71</FileNumber>
<FileNumber>72</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1277,7 +1289,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>72</FileNumber>
<FileNumber>73</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1289,7 +1301,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>73</FileNumber>
<FileNumber>74</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1301,7 +1313,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>74</FileNumber>
<FileNumber>75</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1313,7 +1325,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>75</FileNumber>
<FileNumber>76</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1325,7 +1337,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>76</FileNumber>
<FileNumber>77</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1337,7 +1349,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>77</FileNumber>
<FileNumber>78</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1349,7 +1361,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>78</FileNumber>
<FileNumber>79</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1361,7 +1373,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>79</FileNumber>
<FileNumber>80</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1381,7 +1393,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>80</FileNumber>
<FileNumber>81</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1393,7 +1405,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>81</FileNumber>
<FileNumber>82</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1405,7 +1417,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>82</FileNumber>
<FileNumber>83</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1417,7 +1429,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>83</FileNumber>
<FileNumber>84</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1429,7 +1441,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>84</FileNumber>
<FileNumber>85</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1441,7 +1453,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>85</FileNumber>
<FileNumber>86</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1461,7 +1473,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>86</FileNumber>
<FileNumber>87</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1473,7 +1485,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>87</FileNumber>
<FileNumber>88</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1485,7 +1497,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>88</FileNumber>
<FileNumber>89</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1505,7 +1517,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>89</FileNumber>
<FileNumber>90</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1517,7 +1529,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>90</FileNumber>
<FileNumber>91</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1529,7 +1541,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>91</FileNumber>
<FileNumber>92</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1549,7 +1561,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>12</GroupNumber>
<FileNumber>92</FileNumber>
<FileNumber>93</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1569,7 +1581,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>93</FileNumber>
<FileNumber>94</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1581,7 +1593,7 @@
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>94</FileNumber>
<FileNumber>95</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

46
app/app.uvprojx

@ -396,12 +396,12 @@
<File>
<FileName>one_conduction_board.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\one_conduction_board.c</FilePath>
<FilePath>.\src\one_conduction_board.c</FilePath>
</File>
<File>
<FileName>one_conduction_main.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\one_conduction_main.c</FilePath>
<FilePath>.\src\one_conduction_main.c</FilePath>
</File>
<File>
<FileName>driver_ssd1306.c</FileName>
@ -421,12 +421,12 @@
<File>
<FileName>device_controler.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\device_controler.c</FilePath>
<FilePath>.\src\device_controler.c</FilePath>
</File>
<File>
<FileName>display_manager.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\display_manager.c</FilePath>
<FilePath>.\src\display_manager.c</FilePath>
</File>
<File>
<FileName>fontlib.c</FileName>
@ -441,27 +441,27 @@
<File>
<FileName>sample_data_manager.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\sample_data_manager.c</FilePath>
<FilePath>.\src\sample_data_manager.c</FilePath>
</File>
<File>
<FileName>zeeprom_fs.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\zeeprom_fs.c</FilePath>
<FilePath>.\src\zeeprom_fs.c</FilePath>
</File>
<File>
<FileName>heart_wave_sample_service.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\heart_wave_sample_service.c</FilePath>
<FilePath>.\src\heart_wave_sample_service.c</FilePath>
</File>
<File>
<FileName>device_state.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\device_state.c</FilePath>
<FilePath>.\src\device_state.c</FilePath>
</File>
<File>
<FileName>ble_cmd_process_service.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\ble_cmd_process_service.c</FilePath>
<FilePath>.\src\ble_cmd_process_service.c</FilePath>
</File>
<File>
<FileName>zble_module.c</FileName>
@ -478,6 +478,11 @@
<FileType>1</FileType>
<FilePath>..\libznordic\src\znordic_device_info_mgr.c</FilePath>
</File>
<File>
<FileName>app_event_distribute.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\app_event_distribute.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -4220,12 +4225,12 @@
<File>
<FileName>one_conduction_board.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\one_conduction_board.c</FilePath>
<FilePath>.\src\one_conduction_board.c</FilePath>
</File>
<File>
<FileName>one_conduction_main.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\one_conduction_main.c</FilePath>
<FilePath>.\src\one_conduction_main.c</FilePath>
</File>
<File>
<FileName>driver_ssd1306.c</FileName>
@ -4245,12 +4250,12 @@
<File>
<FileName>device_controler.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\device_controler.c</FilePath>
<FilePath>.\src\device_controler.c</FilePath>
</File>
<File>
<FileName>display_manager.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\display_manager.c</FilePath>
<FilePath>.\src\display_manager.c</FilePath>
</File>
<File>
<FileName>fontlib.c</FileName>
@ -4265,27 +4270,27 @@
<File>
<FileName>sample_data_manager.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\sample_data_manager.c</FilePath>
<FilePath>.\src\sample_data_manager.c</FilePath>
</File>
<File>
<FileName>zeeprom_fs.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\zeeprom_fs.c</FilePath>
<FilePath>.\src\zeeprom_fs.c</FilePath>
</File>
<File>
<FileName>heart_wave_sample_service.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\heart_wave_sample_service.c</FilePath>
<FilePath>.\src\heart_wave_sample_service.c</FilePath>
</File>
<File>
<FileName>device_state.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\device_state.c</FilePath>
<FilePath>.\src\device_state.c</FilePath>
</File>
<File>
<FileName>ble_cmd_process_service.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\one_conduction\ble_cmd_process_service.c</FilePath>
<FilePath>.\src\ble_cmd_process_service.c</FilePath>
</File>
<File>
<FileName>zble_module.c</FileName>
@ -4302,6 +4307,11 @@
<FileType>1</FileType>
<FilePath>..\libznordic\src\znordic_device_info_mgr.c</FilePath>
</File>
<File>
<FileName>app_event_distribute.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\app_event_distribute.c</FilePath>
</File>
</Files>
</Group>
<Group>

0
app/src/one_conduction/app_event.h → app/src/app_event.h

23
app/src/app_event_distribute.c

@ -0,0 +1,23 @@
#include "app_event_distribute.h"
#include "app_event.h"
#include "app_scheduler.h"
static AppEventListener m_listener[10];
static int m_listener_num = 0;
static void app_event_process_cb(void* p_event_data, uint16_t event_size) {
for (int i = 0; i < m_listener_num; i++) {
if (m_listener[i].cbfunc) {
m_listener[i].cbfunc(p_event_data, event_size);
}
}
}
void AppEvent_regListener(app_event_listener_t listener) { //
m_listener[m_listener_num++].cbfunc = listener;
}
void AppEvent_pushEvent(app_event_t* event) { //
app_sched_event_put(event, sizeof(app_event_t), app_event_process_cb);
}

15
app/src/app_event_distribute.h

@ -0,0 +1,15 @@
#pragma once
#include <stdbool.h>
#include <stdint.h>
#include "app_event.h"
typedef void (*app_event_listener_t)(void* p_event_data, uint16_t event_size);
typedef struct {
app_event_listener_t cbfunc;
} AppEventListener;
void AppEvent_regListener(app_event_listener_t listener);
void AppEvent_pushEvent(app_event_t* event);

24
app/src/one_conduction/ble_cmd_process_service.c → app/src/ble_cmd_process_service.c

@ -56,7 +56,7 @@ int ble_stop_realtime_report() {
m_realtime_report_state = false;
return 0;
}
void ble_cmder_try_report_one_sample_data(uint32_t frameIndex, uint16_t data) {
void ble_cmder_try_report_one_sample_data(uint32_t frameIndex, uint16_t data0, uint16_t data1, uint16_t data2, uint16_t data3) {
if (!m_realtime_report_state) {
return;
}
@ -67,15 +67,16 @@ void ble_cmder_try_report_one_sample_data(uint32_t frameIndex, uint16_t data) {
reportpacket->frame_type = kifyhrs_pt_report;
reportpacket->sample_data_index = frameIndex;
/**
* @brief
*/
reportpacket->data[0] = (data >> 0) & 0xFF;
reportpacket->data[1] = (data >> 8) & 0xFF;
reportpacket->data[2] = 0;
reportpacket->data[3] = 0;
reportpacket->data[0] = (data0 >> 0) & 0xFF; //
reportpacket->data[1] = (data0 >> 8) & 0xFF; //
reportpacket->data[2] = (data1 >> 0) & 0xFF; //
reportpacket->data[3] = (data1 >> 8) & 0xFF; //
reportpacket->data[4] = (data2 >> 0) & 0xFF; //
reportpacket->data[5] = (data2 >> 8) & 0xFF; //
reportpacket->data[6] = (data3 >> 0) & 0xFF; //
reportpacket->data[7] = (data3 >> 8) & 0xFF; //
uint16_t sendlen = sizeof(heartrate_report_packet_t) + 4;
uint16_t sendlen = sizeof(heartrate_report_packet_t) + 8;
zdatachannel_data_send2(reportbuf, sendlen);
return;
}
@ -440,6 +441,11 @@ void ble_cmder_process_rx(uint8_t* rx, int len) {
}
}
else if (cmd == ify_hrs_cmd_stop_upload_record) {
ble_stop_upload_record();
send_success_receipt(rxheader, 0);
}
else if (cmd == ify_hrs_cmd_enter_ota) {
send_error_receipt(rxheader, kifyhrs_ecode_cmd_not_support);
}

2
app/src/one_conduction/ble_cmd_process_service.h → app/src/ble_cmd_process_service.h

@ -9,7 +9,7 @@ void ble_cmder_process_rx(uint8_t* rx, int len);
void ble_cmder_start_adv();
void ble_cmder_stop_adv();
void ble_cmder_try_report_one_sample_data(uint32_t frameIndex, uint16_t data);
void ble_cmder_try_report_one_sample_data(uint32_t frameIndex, uint16_t data0, uint16_t data1, uint16_t data2, uint16_t data3);
void ble_cmder_try_report_sensor_drop_event(uint8_t dropstate0, uint8_t dropstate1);
void ble_cmder_report_upload_finish_event(uint32_t sumcheckcode);
void ble_cmder_report_sample_finish_event();

6
app/src/board/board.h

@ -19,6 +19,8 @@
#define SAMPLE_PRECISION 12
#define AUTOMATIC_SLEEP_TIME 15000
#define SAMPLE_MIN_TIME_S (30.0)
#define SAMPLE_MIN_TIME_S (30.0)
#define ENABLE_SLEEP
#define ENABLE_SLEEP
#define LITTLE_DATA_BLOCK_FRAME_NUM 4 // 每次多少帧上报一次

0
app/src/one_conduction/config.h → app/src/config.h

0
app/src/one_conduction/device_controler.c → app/src/device_controler.c

0
app/src/one_conduction/device_controler.h → app/src/device_controler.h

0
app/src/one_conduction/device_state.c → app/src/device_state.c

17
app/src/one_conduction/device_state.h → app/src/device_state.h

@ -1,7 +1,8 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <stdint.h>
#include "board/board.h"
typedef enum {
kplod_connected_event = 0, //
kplod_disconnected_event, //
@ -13,19 +14,23 @@ typedef enum {
kevent_tmr_scheduler_event, //
kevent_capture_256data_event, //
kevent_capture_1data_event, //
kevent_capture_256data_event, //
kevent_capture_little_data_block_event, //
} app_event_type_t;
typedef struct {
uint16_t data;
} one_frame_data_t;
typedef struct {
app_event_type_t eventType;
union {
uint32_t plod_connected_accumulation_time; //
uint8_t* capture_data_cache; // 256
struct {
uint32_t frameIndex;
uint16_t data;
} frame_data;
uint32_t frameIndex;
one_frame_data_t data[LITTLE_DATA_BLOCK_FRAME_NUM];
} little_data_block;
} val;
} app_event_t;

0
app/src/one_conduction/display_manager.c → app/src/display_manager.c

0
app/src/one_conduction/display_manager.h → app/src/display_manager.h

0
app/src/one_conduction/display_manager_res.h → app/src/display_manager_res.h

0
app/src/one_conduction/font.h → app/src/font.h

61
app/src/one_conduction/heart_wave_sample_service.c → app/src/heart_wave_sample_service.c

@ -1,9 +1,9 @@
#include "heart_wave_sample_service.h"
#include "app_event.h"
#include "app_event_distribute.h"
#include "nrfx_timer.h"
#include "one_conduction_board.h"
static const nrfx_timer_t m_timer = NRFX_TIMER_INSTANCE(1); /**< Timer used for channel sweeps and tx with duty cycle. */
static bool m_timer_started = false; /**< True if timer is running. */
@ -15,7 +15,10 @@ static uint16_t m_capture_buffer_index = 0;
volatile static float m_sensor_display_data = 0; // 0->100
static uint32_t m_start_capture_tp;
static uint32_t m_frameindex = 0;
static uint32_t m_frame_index = 0;
static one_frame_data_t m_sensor_little_frame_cache[LITTLE_DATA_BLOCK_FRAME_NUM];
static uint32_t m_little_frame_index;
static void swap_buffer() {
if (m_capture_buffer == NULL) {
@ -60,9 +63,37 @@ static float Filter(filter_t* filter, float newInput) {
return newv;
}
/*******************************************************************************
* *
*******************************************************************************/
static inline void prvf_little_block_cache_push_one_frame(uint16_t data) {
if (m_little_frame_index >= LITTLE_DATA_BLOCK_FRAME_NUM) {
return;
}
m_sensor_little_frame_cache[m_little_frame_index].data = data;
m_little_frame_index++;
}
static inline bool prvf_light_block_cache_is_full(void) {
if (m_little_frame_index >= LITTLE_DATA_BLOCK_FRAME_NUM) {
return true;
}
return false;
}
static inline void prvf_light_block_cache_clear(void) { m_little_frame_index = 0; }
static inline void prvf_light_block_trigger_event() {
static app_event_t event;
event.eventType = kevent_capture_little_data_block_event;
for (uint32_t i = 0; i < LITTLE_DATA_BLOCK_FRAME_NUM; i++) {
event.val.little_data_block.data[i].data = m_sensor_little_frame_cache[i].data;
}
event.val.little_data_block.frameIndex = m_frame_index - LITTLE_DATA_BLOCK_FRAME_NUM;
AppEvent_pushEvent(&event);
}
void nrfx_timer_event_handler(nrf_timer_event_t event_type, void* p_context) { //
uint16_t val = SingleLeadECG_ecg_plod_get_ecg_val(); // 12bit
m_frameindex++;
m_frame_index++;
/*******************************************************************************
* *
@ -88,23 +119,19 @@ void nrfx_timer_event_handler(nrf_timer_event_t event_type, void* p_context) {
evt.eventType = kevent_capture_256data_event;
evt.val.capture_data_cache = (uint8_t*)m_capture_buffer;
swap_buffer();
app_sched_event_put(&evt, sizeof(evt), app_event_process_cb);
AppEvent_pushEvent(&evt);
}
/*******************************************************************************
* *
*******************************************************************************/
{
static int index = 0;
if (index % 2 == 0) {
app_event_t evt;
evt.eventType = kevent_capture_1data_event;
evt.val.frame_data.frameIndex = m_frameindex;
evt.val.frame_data.data = val;
swap_buffer();
app_sched_event_put(&evt, sizeof(evt), app_event_process_cb);
}
index++;
/**
* @brief
*/
prvf_little_block_cache_push_one_frame(val);
if (prvf_light_block_cache_is_full()) {
prvf_light_block_trigger_event();
prvf_light_block_cache_clear();
}
}
@ -137,12 +164,12 @@ void hwss_uninit(void) { nrfx_timer_disable(&m_timer); }
void hwss_start_capture(void) {
m_start_capture_tp = znordic_getpower_on_s();
swap_buffer();
m_frameindex = 0;
m_frame_index = 0;
nrfx_timer_enable(&m_timer);
}
void hwss_stop_capture(void) {
nrfx_timer_disable(&m_timer);
m_frameindex = 0;
m_frame_index = 0;
}
float hwss_read_val(void) {

0
app/src/one_conduction/heart_wave_sample_service.h → app/src/heart_wave_sample_service.h

0
app/src/one_conduction/one_conduction_board.c → app/src/one_conduction_board.c

0
app/src/one_conduction/one_conduction_board.h → app/src/one_conduction_board.h

29
app/src/one_conduction/one_conduction_main.c → app/src/one_conduction_main.c

@ -11,6 +11,7 @@
#include "zdatachannel_service.h"
#include "znordic.h"
#include "znordic_device_info_mgr.h"
#include "app_event_distribute.h"
/*******************************************************************************
* GLOBAL *
@ -60,19 +61,19 @@ static void m_plod_state_event_detect_tmr_cb(void* p_context) { //
//
appevent.eventType = kplod_connected_event;
m_plod_state_connected_state = true;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
} else if (m_plod_state_connected_state && connecte_state_trigger_cnt == 0) {
//
appevent.eventType = kplod_disconnected_event;
m_plod_state_connected_state = false;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
}
// else if (connecte_state_trigger_cnt >= 10 && connecte_state_trigger_cnt % 10 == 0) {
// //
// appevent.eventType = kplod_connecting_event;
// appevent.val.plod_connected_accumulation_time = connecte_state_trigger_cnt / 10;
// app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
// AppEvent_pushEvent(&appevent);
// }
}
@ -84,16 +85,16 @@ static void m_charge_event_detect_tmr_cb(void* p_context) { //
if (!ischarging) {
appevent.eventType = kplod_start_charge_event;
ischarging = true;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
} else {
appevent.eventType = kplod_charging_event;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
}
} else {
if (ischarging) {
ischarging = false;
appevent.eventType = kplod_end_charge_event;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
}
}
}
@ -101,7 +102,7 @@ static void m_charge_event_detect_tmr_cb(void* p_context) { //
static void state_machine_driver_tmr_cb(void* p_context) { //
static app_event_t appevent;
appevent.eventType = kevent_tmr_scheduler_event;
app_sched_event_put(&appevent, sizeof(appevent), app_event_process_cb);
AppEvent_pushEvent(&appevent);
}
/*******************************************************************************
@ -188,7 +189,7 @@ static void state_machine__change_to_home_state() {
ds_change_to_state(kdevice_state_home);
dsp_mgr_change_to_main();
}
void app_event_process_cb(void* p_event_data, uint16_t event_size) {
static void app_event_listener(void* p_event_data, uint16_t event_size) {
if (!p_event_data) return;
app_event_t* p_event = (app_event_t*)p_event_data;
@ -330,9 +331,15 @@ void app_event_process_cb(void* p_event_data, uint16_t event_size) {
hwss_stop_capture();
}
}
} else if (p_event->eventType == kevent_capture_1data_event) {
} else if (p_event->eventType == kevent_capture_little_data_block_event) {
//
ble_cmder_try_report_one_sample_data(p_event->val.frame_data.frameIndex, p_event->val.frame_data.data);
ZASSERT(LITTLE_DATA_BLOCK_FRAME_NUM == 4);
ble_cmder_try_report_one_sample_data(p_event->val.little_data_block.frameIndex, //
p_event->val.little_data_block.data[0].data, //
p_event->val.little_data_block.data[1].data, //
p_event->val.little_data_block.data[2].data, //
p_event->val.little_data_block.data[3].data //
);
} else if (p_event->eventType == kplod_disconnected_event || !m_plod_state_connected_state) {
/*******************************************************************************
* *
@ -437,6 +444,8 @@ void one_conduction_main() {
SingleLeadECG_ecg_io_init();
SingleLeadECG_battery_charge_detect_io_init();
AppEvent_regListener(app_event_listener);
ZERROR_CHECK(app_timer_create(&m_state_machine_driver_tmr, APP_TIMER_MODE_REPEATED, state_machine_driver_tmr_cb));
ZERROR_CHECK(app_timer_create(&m_plod_state_event_detect_tmr, APP_TIMER_MODE_REPEATED, m_plod_state_event_detect_tmr_cb));
ZERROR_CHECK(app_timer_create(&m_charge_event_detect_tmr, APP_TIMER_MODE_REPEATED, m_charge_event_detect_tmr_cb));

0
app/src/one_conduction/one_conduction_main.h → app/src/one_conduction_main.h

0
app/src/one_conduction/sample_data_manager.c → app/src/sample_data_manager.c

0
app/src/one_conduction/sample_data_manager.h → app/src/sample_data_manager.h

0
app/src/one_conduction/zeeprom_fs.c → app/src/zeeprom_fs.c

0
app/src/one_conduction/zeeprom_fs.h → app/src/zeeprom_fs.h

Loading…
Cancel
Save