Browse Source

update

3lead_uart_test_ok_version
zhaohe 1 year ago
parent
commit
682b3782c6
  1. 6
      .vscode/settings.json
  2. 228
      app/app.uvoptx
  3. 20
      app/app.uvprojx
  4. 4
      app/config/sdk_config.h
  5. 88
      app/src/basic/ssd1306/driver_ssd1306_basic.c
  6. 30
      app/src/basic/ssd1306/driver_ssd1306_basic.h
  7. 77
      app/src/basic/ssd1306/fontlib.c
  8. 40
      app/src/basic/ssd1306/fontlib.h
  9. 55
      app/src/one_conduction/display_manager.c
  10. 5
      app/src/one_conduction/display_manager.h
  11. 125
      app/src/one_conduction/font.h
  12. 1
      app/src/one_conduction/one_conduction_board.c
  13. 2
      libznordic
  14. BIN
      res/PCtoLCD2002完美版.zip
  15. BIN
      res/img2lcd_cfg.png
  16. 64
      res/logo_mono.c

6
.vscode/settings.json

@ -77,6 +77,10 @@
"ble_db_discovery.h": "c",
"ble_gatt_db.h": "c",
"nrf_ble_gq.h": "c",
"ti_ads1293_register_settings.h": "c"
"ti_ads1293_register_settings.h": "c",
"typeinfo": "c",
"fontlib.h": "c",
"font.h": "c",
"display_manager.h": "c"
}
}

228
app/app.uvoptx

@ -152,66 +152,18 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>245</LineNumber>
<LineNumber>576</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>162232</Address>
<Address>181920</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>.\src\three_lead\three_lead_board.c</Filename>
<Filename>.\src\basic\ssd1306\driver_ssd1306_basic.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\nrf52833_xxaa\src/three_lead/three_lead_board.c\245</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>116</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>168702</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\sdk\external\fatfs\port\diskio_blkdev.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\nrf52833_xxaa\../sdk/external/fatfs/port/diskio_blkdev.c\116</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>129</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>168740</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\sdk\external\fatfs\port\diskio_blkdev.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\nrf52833_xxaa\../sdk/external/fatfs/port/diskio_blkdev.c\129</Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>120</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>168706</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\sdk\external\fatfs\port\diskio_blkdev.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\nrf52833_xxaa\../sdk/external/fatfs/port/diskio_blkdev.c\120</Expression>
<Expression>\\nrf52833_xxaa\src/basic/ssd1306/driver_ssd1306_basic.c\576</Expression>
</Bp>
</Breakpoint>
<Tracepoint>
@ -600,6 +552,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\src\basic\ssd1306\fontlib.c</PathWithFileName>
<FilenameWithoutPath>fontlib.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -610,7 +574,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>15</FileNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -630,7 +594,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -642,7 +606,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -662,7 +626,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -682,7 +646,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -694,7 +658,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -706,7 +670,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>21</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -718,7 +682,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -730,7 +694,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -742,7 +706,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -754,7 +718,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -766,7 +730,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>26</FileNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -786,7 +750,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>27</FileNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -800,13 +764,13 @@
<Group>
<GroupName>nRF_Drivers</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>28</FileNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -818,7 +782,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>29</FileNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -830,7 +794,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>30</FileNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -842,7 +806,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>31</FileNumber>
<FileNumber>32</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -854,7 +818,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>32</FileNumber>
<FileNumber>33</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -866,7 +830,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>33</FileNumber>
<FileNumber>34</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -878,7 +842,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>34</FileNumber>
<FileNumber>35</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -890,7 +854,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>35</FileNumber>
<FileNumber>36</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -902,7 +866,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>36</FileNumber>
<FileNumber>37</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -914,7 +878,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>37</FileNumber>
<FileNumber>38</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -926,7 +890,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>38</FileNumber>
<FileNumber>39</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -938,7 +902,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>39</FileNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -950,7 +914,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>40</FileNumber>
<FileNumber>41</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -962,7 +926,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>41</FileNumber>
<FileNumber>42</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -974,7 +938,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>42</FileNumber>
<FileNumber>43</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -986,7 +950,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>43</FileNumber>
<FileNumber>44</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -998,7 +962,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>44</FileNumber>
<FileNumber>45</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1010,7 +974,7 @@
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>45</FileNumber>
<FileNumber>46</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1020,6 +984,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>47</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\sdk\modules\nrfx\drivers\src\nrfx_rtc.c</PathWithFileName>
<FilenameWithoutPath>nrfx_rtc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -1030,7 +1006,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>46</FileNumber>
<FileNumber>48</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1042,7 +1018,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>47</FileNumber>
<FileNumber>49</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1054,7 +1030,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>48</FileNumber>
<FileNumber>50</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1066,7 +1042,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>49</FileNumber>
<FileNumber>51</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1078,7 +1054,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>50</FileNumber>
<FileNumber>52</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1090,7 +1066,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>51</FileNumber>
<FileNumber>53</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1102,7 +1078,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>52</FileNumber>
<FileNumber>54</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1114,7 +1090,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>53</FileNumber>
<FileNumber>55</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1126,7 +1102,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>54</FileNumber>
<FileNumber>56</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1138,7 +1114,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>55</FileNumber>
<FileNumber>57</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1150,7 +1126,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>56</FileNumber>
<FileNumber>58</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1162,7 +1138,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>57</FileNumber>
<FileNumber>59</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1174,7 +1150,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>58</FileNumber>
<FileNumber>60</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1186,7 +1162,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>59</FileNumber>
<FileNumber>61</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1198,7 +1174,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>60</FileNumber>
<FileNumber>62</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1210,7 +1186,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>61</FileNumber>
<FileNumber>63</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1222,7 +1198,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>62</FileNumber>
<FileNumber>64</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1234,7 +1210,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>63</FileNumber>
<FileNumber>65</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1246,7 +1222,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>64</FileNumber>
<FileNumber>66</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1258,7 +1234,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>65</FileNumber>
<FileNumber>67</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1270,7 +1246,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>66</FileNumber>
<FileNumber>68</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1282,7 +1258,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>67</FileNumber>
<FileNumber>69</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1294,7 +1270,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>68</FileNumber>
<FileNumber>70</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1306,7 +1282,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>69</FileNumber>
<FileNumber>71</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1318,7 +1294,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>70</FileNumber>
<FileNumber>72</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1330,7 +1306,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>71</FileNumber>
<FileNumber>73</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1342,7 +1318,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>72</FileNumber>
<FileNumber>74</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1362,7 +1338,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>73</FileNumber>
<FileNumber>75</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1374,7 +1350,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>74</FileNumber>
<FileNumber>76</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1386,7 +1362,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>75</FileNumber>
<FileNumber>77</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1398,7 +1374,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>76</FileNumber>
<FileNumber>78</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1410,7 +1386,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>77</FileNumber>
<FileNumber>79</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1422,7 +1398,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>78</FileNumber>
<FileNumber>80</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1442,7 +1418,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>79</FileNumber>
<FileNumber>81</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1454,7 +1430,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>80</FileNumber>
<FileNumber>82</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1466,7 +1442,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>81</FileNumber>
<FileNumber>83</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1486,7 +1462,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>82</FileNumber>
<FileNumber>84</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1498,7 +1474,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>83</FileNumber>
<FileNumber>85</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1510,7 +1486,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>84</FileNumber>
<FileNumber>86</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1530,7 +1506,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>12</GroupNumber>
<FileNumber>85</FileNumber>
<FileNumber>87</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1550,7 +1526,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>86</FileNumber>
<FileNumber>88</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1562,7 +1538,7 @@
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>87</FileNumber>
<FileNumber>89</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

20
app/app.uvprojx

@ -453,6 +453,11 @@
<FileType>1</FileType>
<FilePath>.\src\one_conduction\display_manager.c</FilePath>
</File>
<File>
<FileName>fontlib.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\basic\ssd1306\fontlib.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1709,6 +1714,11 @@
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_wdt.c</FilePath>
</File>
<File>
<FileName>nrfx_rtc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_rtc.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -4242,6 +4252,11 @@
<FileType>1</FileType>
<FilePath>.\src\one_conduction\display_manager.c</FilePath>
</File>
<File>
<FileName>fontlib.c</FileName>
<FileType>1</FileType>
<FilePath>.\src\basic\ssd1306\fontlib.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -5498,6 +5513,11 @@
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_wdt.c</FilePath>
</File>
<File>
<FileName>nrfx_rtc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_rtc.c</FilePath>
</File>
</Files>
</Group>
<Group>

4
app/config/sdk_config.h

@ -5421,7 +5421,7 @@
// <e> RTC_ENABLED - nrf_drv_rtc - RTC peripheral driver - legacy layer
//==========================================================
#ifndef RTC_ENABLED
#define RTC_ENABLED 0
#define RTC_ENABLED 1
#endif
// <o> RTC_DEFAULT_CONFIG_FREQUENCY - Frequency <16-32768>
@ -5472,7 +5472,7 @@
#ifndef RTC2_ENABLED
#define RTC2_ENABLED 0
#define RTC2_ENABLED 1
#endif
// <o> NRF_MAXIMUM_LATENCY_US - Maximum possible time[us] in highest priority interrupt

88
app/src/basic/ssd1306/driver_ssd1306_basic.c

@ -37,6 +37,8 @@
#include "driver_ssd1306_basic.h"
#include <stdbool.h>
static ssd1306_handle_t gs_handle; /**< ssd1306 handle */
/**
@ -514,36 +516,66 @@ uint8_t ssd1306_basic_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t
}
}
uint8_t ssd1306_basic_draw_screen(const char *img) {
// ssd1306_gram_write_point
for (size_t i = 0; i < 1024; i++) {
uint8_t x_start = i % (128 / 8);
uint8_t y = i / (128 / 8);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 7, y, img[i] & 0x01);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 6, y, img[i] & 0x02);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 5, y, img[i] & 0x04);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 4, y, img[i] & 0x08);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 3, y, img[i] & 0x10);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 2, y, img[i] & 0x20);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 1, y, img[i] & 0x40);
ssd1306_gram_write_point(&gs_handle, x_start * 8 + 0, y, img[i] & 0x80);
gs_handle.gram[i % 128][i / 128] = img[i];
}
}
uint8_t ssd1306_basic_gram_update() { ssd1306_gram_update(&gs_handle); }
#include "znordic.h"
uint8_t ssd1306_basic_draw_one_chr(uint8_t xs, uint8_t ys, char *str, FontLibrary_t *frontlib) {
const uint8_t *frontbuf = NULL;
bool is_ascii = false;
uint8_t charsize = 1;
is_ascii = utf8_is_ascii(str);
if (is_ascii) {
charsize = 1;
} else {
charsize = 3; // utf8 3
}
FontLibrary_findchar(frontlib, str, &frontbuf);
if (!frontbuf) return 1;
// uint8_t ssd1306_basic_draw_screen(const char* img){
// // gs_handle.gram[]
// // for (int i = 0; i < 128; i++)
// // {
// // for (int j = 0; j < 8; j++)
// // {
// // gs_handle.gram[i][j] = img[j*128+i];
// // }
// // }
// for (size_t i = 0; i < 1024; i++)
// {
// gs_handle.gram[i%128][i/128] = img[i];
// }
// }
// ssd1306_gram_write_point
for (uint32_t xoff = 0; xoff < frontlib->widthPixel; xoff++) {
for (uint32_t yoff = 0; yoff < frontlib->heightPixel; yoff++) {
bool pixval = 0;
/**
* ||||||
* VVVVVV
* ||||||
* VVVVVV
*
* x = 3; y = 9;
* byteoff = x + y / frontWidthPixel * frontWidthPixel
* bitoff = y % 8
*/
uint8_t byteoff = xoff + yoff / 8 * frontlib->widthPixel;
uint8_t bitoff = yoff % 8;
pixval = (frontbuf[byteoff] >> bitoff) & 0x01;
ssd1306_gram_write_point(&gs_handle, xs + xoff, ys + yoff, pixval);
}
}
return 0;
}
uint8_t ssd1306_basic_draw_str(uint8_t xs, uint8_t ys, const char *str, FontLibrary_t *frontlib) {
uint8_t x = xs;
uint8_t y = ys;
StrIterator_t iterator;
if (frontlib->fontCode == kutf8) {
utf8_iterator_start(&iterator, str);
char *nowchr = NULL;
while (true) {
utf8_iterator_next(&iterator, &nowchr);
if (!nowchr) {
break;
}
ssd1306_basic_draw_one_chr(x, y, nowchr, frontlib);
x += (uint8_t)(frontlib->widthPixel); /* x + font/2 */
}
}
return 0;
}

30
app/src/basic/ssd1306/driver_ssd1306_basic.h

@ -39,6 +39,7 @@
#define DRIVER_SSD1306_BASIC_H
#include "driver_ssd1306_interface.h"
#include "fontlib.h"
#ifdef __cplusplus
extern "C" {
@ -150,7 +151,7 @@ uint8_t ssd1306_basic_write_point(uint8_t x, uint8_t y, uint8_t data);
* - 1 read point failed
* @note none
*/
uint8_t ssd1306_basic_read_point(uint8_t x, uint8_t y, uint8_t *data);
uint8_t ssd1306_basic_read_point(uint8_t x, uint8_t y, uint8_t* data);
/**
* @brief basic example draw a string
@ -165,8 +166,7 @@ uint8_t ssd1306_basic_read_point(uint8_t x, uint8_t y, uint8_t *data);
* - 1 write string failed
* @note none
*/
uint8_t ssd1306_basic_string(uint8_t x, uint8_t y, char *str, uint16_t len, uint8_t color, ssd1306_font_t font);
uint8_t ssd1306_basic_string(uint8_t x, uint8_t y, char* str, uint16_t len, uint8_t color, ssd1306_font_t font);
/**
* @brief basic example fill a rectangle
* @param[in] left is the left coordinate x
@ -193,25 +193,19 @@ uint8_t ssd1306_basic_rect(uint8_t left, uint8_t top, uint8_t right, uint8_t bot
* - 1 draw picture failed
* @note none
*/
uint8_t ssd1306_basic_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t *img);
/**
* @brief
* |
* v
* --------------->
* '
* '
* '
* '
* ---------------->
*/
uint8_t ssd1306_basic_draw_screen(const char* img);
uint8_t ssd1306_basic_gram_update();
uint8_t ssd1306_basic_picture(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t* img);
ssd1306_handle_t *ssd1306_handler();
/*******************************************************************************
* ADD_BY_ZHAOHE *
*******************************************************************************/
uint8_t ssd1306_basic_draw_screen(const char* img);
uint8_t ssd1306_basic_gram_update();
ssd1306_handle_t* ssd1306_handler();
uint8_t ssd1306_basic_line(uint8_t x, uint8_t y, uint8_t data);
uint8_t ssd1306_basic_draw_str(uint8_t xs, uint8_t ys, const char *str, FontLibrary_t *frontlib);
/**
* @}
*/

77
app/src/basic/ssd1306/fontlib.c

@ -0,0 +1,77 @@
#include "fontlib.h"
static FontLibrary_t s_fontlibrary[10];
static uint8_t s_fontlibrarylen = 0;
uint8_t utf8_iterator_start(StrIterator_t *iterator, const char *chr) {
iterator->str = chr;
iterator->nowoff = 0;
}
uint8_t utf8_iterator_isend(StrIterator_t *iterator) { return iterator->str[iterator->nowoff] == '\0'; }
void utf8_iterator_next(StrIterator_t *iterator, const char **nowchr) {
*nowchr = iterator->str + iterator->nowoff;
if (*nowchr[0] == '\0') {
*nowchr = NULL;
return;
}
while (iterator->str[iterator->nowoff] != '\0') {
if ((iterator->str[iterator->nowoff] < 0x80)) {
iterator->nowoff++;
break;
} else {
iterator->nowoff += 3;
break;
}
}
}
void FontLibrary_regsiter(FontLibrary_t *lib) { s_fontlibrary[s_fontlibrarylen++] = *lib; }
FontLibrary_t *FontLibrary_findlib(FontCode_t fontcode, uint8_t widthPixel, uint8_t heightPixel, bool isAscii) {
for (size_t i = 0; i < s_fontlibrarylen; i++) {
if (s_fontlibrary[i].fontCode == fontcode && //
s_fontlibrary[i].isAscii == isAscii && //
s_fontlibrary[i].widthPixel == widthPixel && //
s_fontlibrary[i].heightPixel == heightPixel) {
return &s_fontlibrary[i];
}
}
return NULL;
}
void FontLibrary_findchar(FontLibrary_t *lib, const char *chr, const uint8_t **font) {
*font = NULL;
uint8_t eachIndexWidth = 1;
if (lib->isAscii) {
eachIndexWidth = 1;
} else {
if (lib->fontCode == kutf8) {
eachIndexWidth = 3;
} else if (lib->fontCode == kgbk) {
eachIndexWidth = 2;
}
}
if (eachIndexWidth == 1) {
for (int i = 0; i < lib->fontIndexLen; i += 1) {
if (lib->fontIndex[i] == chr[0]) {
*font = &lib->font[i * lib->widthPixel * lib->heightPixel / 8];
}
}
} else if (eachIndexWidth == 2) {
for (int i = 0; i < lib->fontIndexLen; i += 2) {
if (lib->fontIndex[i] == chr[0] && lib->fontIndex[i + 1] == chr[1]) {
*font = &lib->font[i / 2 * lib->widthPixel * lib->heightPixel / 8];
}
}
} else if (eachIndexWidth == 3) {
for (int i = 0; i < lib->fontIndexLen; i += 3) {
if (lib->fontIndex[i] == chr[0] && lib->fontIndex[i + 1] == chr[1] && lib->fontIndex[i + 2] == chr[2]) {
*font = &lib->font[i / 3 * lib->widthPixel * lib->heightPixel / 8];
}
}
}
}
bool utf8_is_ascii(uint8_t *chr) { return chr[0] < 0x80; }

40
app/src/basic/ssd1306/fontlib.h

@ -0,0 +1,40 @@
#pragma once
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
typedef enum {
kutf8,
kgbk,
} FontCode_t;
typedef enum {
kFontSize08x16,
kFontSize16x16,
} FontSize_t;
typedef struct {
const uint8_t *font;
const char *fontIndex;
int fontIndexLen;
FontCode_t fontCode;
bool isAscii;
uint8_t widthPixel;
uint8_t heightPixel;
} FontLibrary_t;
typedef struct {
const char *str;
int nowoff;
} StrIterator_t;
uint8_t utf8_iterator_start(StrIterator_t *iterator, const char *chr);
uint8_t utf8_iterator_isend(StrIterator_t *iterator);
void utf8_iterator_next(StrIterator_t *iterator, const char **nowchr);
bool utf8_is_ascii(uint8_t *chr);
void FontLibrary_regsiter(FontLibrary_t *lib);
FontLibrary_t *FontLibrary_findlib(FontCode_t fontcode, uint8_t widthPixel, uint8_t heightPixel, bool isAscii);
void FontLibrary_findchar(FontLibrary_t *lib, const char *chr, const uint8_t **font);

55
app/src/one_conduction/display_manager.c

@ -4,15 +4,34 @@
//
#include "basic/ssd1306/driver_ssd1306.h"
#include "basic/ssd1306/driver_ssd1306_basic.h"
#include "font.h"
#include "one_conduction_board.h"
#include <stdarg.h>
PageState_t g_pageState;
void dsp_mgr_init(void) {
// donothing
FontLibrary_regsiter(&fontclocklib);
// fronlib16.asciifront = assci16code;
// fronlib16.asciifrontIndex = "0123456789Ero.";
// fronlib16.asciifrontIndexLen = strlen(fronlib16.asciifrontIndex);
// fronlib16.gbkfront = gbk16code;
// fronlib16.gbkfrontIndex = "米开机中测距录像错误电量充";
// fronlib16.gbkfrontIndexLen = strlen(fronlib16.gbkfrontIndex);
// fronlib16.eachfrontlen = 32;
}
void dsp_mgr_change_to_page(page_t page) { //
g_pageState.page = page;
g_pageState.last_page = page;
g_pageState.page_change_to_page_time = znordic_getpower_on_s();
g_pageState.in_prompt = false;
memset(g_pageState.prompt, 0, sizeof(g_pageState.prompt));
}
uint32_t dsp_mgr_get_page_elapsed_time_s(void) { //
return znordic_getpower_on_s() - g_pageState.page_change_to_page_time;
}
void dsp_mgr_schedule(void) {}
@ -37,14 +56,40 @@ void dsp_mgr_change_to_welcome() {
*/
SingleLeadECG_screen_init();
// ssd1306_basic_string(0, 0, "123456789123456789123", 21, 0, SSD1306_FONT_12);
ssd1306_basic_draw_screen(gImage_logo_mono);
ssd1306_basic_gram_update();
dsp_mgr_change_to_page(kPage_welcome);
dsp_mgr_change_to_main();
}
const char* fmt(const char* format, ...) {
static char buf[128];
va_list args;
va_start(args, format);
vsprintf(buf, format, args);
va_end(args);
ZLOGI("fmt:%s", buf);
return buf;
}
void dsp_mgr_change_to_main() {
/**
* @brief
*/
ssd1306_basic_clear();
//
ssd1306_basic_draw_str(40, 32 - fontclocklib.heightPixel / 2, fmt("%02d:%02d", 6, 32), &fontclocklib);
//
ssd1306_basic_gram_update();
}
void dsp_mgr_change_to_preparePage() {
/**
* @brief
*/
}
void dsp_mgr_change_to_main() {}
void dsp_mgr_change_to_preparePage() {}
void dsp_mgr_change_to_sampling() {}
void dsp_mgr_change_to_samplingError() {}
void dsp_mgr_change_to_storaging() {}

5
app/src/one_conduction/display_manager.h

@ -43,8 +43,8 @@ typedef struct {
*/
page_t page; //
page_t last_page; //
uint32_t page_elapsed_time; //
uint32_t page_total_time; //
uint32_t page_change_to_page_time; //
bool in_prompt; //
char prompt[32]; //
@ -58,6 +58,7 @@ void dsp_mgr_init(void);
void dsp_mgr_schedule(void);
PageState_t* dsp_mgr_get_state(void);
uint32_t dsp_mgr_get_page_elapsed_time_s(void);
void dsp_mgr_change_to_poweroff();
void dsp_mgr_change_to_welcome();

125
app/src/one_conduction/font.h

@ -0,0 +1,125 @@
// https://www.23bei.com/tool-965.html
#pragma ocne
#include <stdint.h>
#if 0
const char fontclocklib_code[] = {
0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x07, 0x80, 0x78, 0x06, //
0x00, 0x18, 0x04, 0x00, 0x08, 0x06, 0x00, 0x18, 0x07, 0x80, 0x78, 0x03, 0xFF, 0xF0, 0x01, 0xFF, //
0xE0, 0x00, 0x7F, 0x80, //
0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x07, 0xFF, 0xF0, 0x0F, //
0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, //
0x03, 0x80, 0x70, 0x07, 0x80, 0xF0, 0x0D, 0x81, 0xB0, 0x08, 0x03, 0x30, 0x08, 0x06, 0x30, 0x08, //
0x0C, 0x30, 0x0C, 0x38, 0x30, 0x0F, 0xF8, 0x30, 0x07, 0xF1, 0xF0, 0x03, 0xC1, 0xF0, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, //
0x03, 0x81, 0xC0, 0x07, 0x81, 0xE0, 0x0F, 0x81, 0xF0, 0x08, 0x10, 0x10, 0x08, 0x10, 0x10, 0x0C, //
0x30, 0x10, 0x0F, 0xF8, 0x30, 0x07, 0xEF, 0xF0, 0x03, 0xCF, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, //
0x00, 0x06, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3A, 0x00, 0x00, 0xE2, 0x00, 0x01, 0xC2, 0x10, 0x07, //
0x02, 0x10, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x00, 0x02, 0x10, 0x00, 0x02, //
0x10, 0x00, 0x00, 0x00, //
0x00, 0x01, 0xC0, 0x0F, 0xF9, 0xE0, 0x0F, 0xF9, 0xB0, 0x0C, 0x30, 0x10, 0x0C, 0x20, 0x10, 0x0C, //
0x20, 0x10, 0x0C, 0x30, 0x70, 0x0C, 0x3F, 0xF0, 0x0C, 0x1F, 0xE0, 0x0C, 0x0F, 0x80, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, //
0x00, 0x7F, 0x00, 0x03, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x07, 0x18, 0x70, 0x0C, 0x30, 0x30, 0x08, //
0x20, 0x10, 0x08, 0x20, 0x10, 0x0E, 0x30, 0x30, 0x0E, 0x3F, 0xE0, 0x06, 0x1F, 0xE0, 0x00, 0x0F, //
0x80, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x01, 0xF0, 0x0C, //
0x0F, 0xF0, 0x0C, 0x3F, 0xF0, 0x0D, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, //
0x00, 0x00, 0x00, 0x00, //
0x03, 0xC3, 0xC0, 0x07, 0xEF, 0xE0, 0x0F, 0xEF, 0xE0, 0x0C, 0x78, 0x30, 0x08, 0x30, 0x10, 0x08, //
0x38, 0x10, 0x08, 0x18, 0x10, 0x0C, 0x3C, 0x30, 0x0F, 0xEF, 0xF0, 0x07, 0xE7, 0xE0, 0x03, 0x83, //
0xC0, 0x00, 0x00, 0x00, //
0x01, 0xF0, 0x00, 0x07, 0xF8, 0x60, 0x07, 0xFC, 0x70, 0x0E, 0x0C, 0x70, 0x08, 0x04, 0x10, 0x08, //
0x04, 0x10, 0x08, 0x0C, 0x30, 0x0E, 0x19, 0xE0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x00, 0xFE, //
0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x70, 0x00, //
0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, 0x00, //
};
static FontLibrary_t fontclocklib = {
.font = fontclocklib_code,
.fontIndex = "0123456789:",
.fontIndexLen = 12,
.fontCode = kutf8,
.isAscii = true,
.widthPixel = 24,
.heightPixel = 24,
};
#endif
// DB 00H 00H 07H F0H 0FH F8H 18H 0CH 10H 04H 18H 0CH 0FH F8H 07H F0H;"0",0
// DB 10H 08H 10H 08H 3FH F8H 3FH F8H 00H 08H 00H 08H 00H 00H 00H 00H;"1",1
// DB 1CH 18H 3CH 38H 20H 68H 20H C8H 23H 88H 3FH 18H 1CH 18H 00H 00H;"2",2
// DB 18H 30H 38H 38H 22H 08H 22H 08H 27H 18H 3DH F0H 18H E0H 00H 00H;"3",3
// DB 01H C0H 07H C0H 0EH 48H 18H 48H 3FH F8H 3FH F8H 00H 48H 00H 00H;"4",4
// DB 3FH 30H 3FH 38H 23H 08H 22H 08H 23H 18H 21H F0H 20H E0H 00H 00H;"5",5
// DB 0FH E0H 1FH F0H 33H 18H 22H 08H 33H 18H 31H F0H 00H E0H 00H 00H;"6",6
// DB 38H 00H 38H 00H 21H F8H 27H F8H 3EH 00H 38H 00H 20H 00H 00H 00H;"7",7
// DB 1CH 70H 3EH F8H 23H 88H 21H 08H 23H 88H 3EH F8H 1CH 70H 00H 00H;"8",8
// DB 0EH 00H 1FH 18H 31H 98H 20H 88H 31H 98H 1FH F0H 0FH E0H 00H 00H;"9",9
// DB 00H 00H 00H 00H 06H 18H 06H 18H 06H 18H 00H 00H 00H 00H 00H 00H;":",10
#if 0
//32*32
const char fontclocklib_code[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFE, 0xFF, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xFF, 0xFE, 0xF0,
0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x04, 0x04, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, /*"0",0*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x06, 0x07, 0x07, 0x07, 0x06, 0x04, 0x04, 0x04, 0x00, 0x00, /*"1",1*/
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x40, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0x7F, 0x3E, 0x00,
0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x01, 0x00, /*"2",2*/
0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xE1, 0x7F, 0x3F, 0x1E, 0x00, 0x00,
0x00, 0x00, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0xFF, 0xFE, 0x78, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"3",3*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x70, 0x3C, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x10, 0x1C, 0x1E, 0x13, 0x11, 0x10, 0x10, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, 0x08, /*"4",4*/
0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xC7, 0x60, 0x20, 0x20, 0x20, 0x60, 0xE0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x00, 0xE0, 0xE1, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"5",5*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFE, 0x8F, 0x81, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC3, 0x83, 0x03, 0x00,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, /*"6",6*/
0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x80, 0xE0, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*"7",7*/
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x3F, 0x7F, 0xF1, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0xE1, 0x7F, 0x3F, 0x1E, 0x00,
0x00, 0xF8, 0xFC, 0xFE, 0x07, 0x03, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0F, 0xFE, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"8",8*/
0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x40, 0x40, 0x40, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, 0xFE, 0xF8, 0x00,
0x00, 0x00, 0x81, 0x83, 0x87, 0x06, 0x04, 0x04, 0x04, 0x06, 0x83, 0xF3, 0xFF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x04, 0x04, 0x04, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, /*"9",9*/
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /*":",10*/
};
static FontLibrary_t fontclocklib = {
.font = fontclocklib_code,
.fontIndex = "0123456789:",
.fontIndexLen = 12,
.fontCode = kutf8,
.isAscii = true,
.widthPixel = 16,
.heightPixel = 32,
};
#endif
//24*24
const char fontclocklib_code[] = {
0x00,0x00,0x80,0xC0,0xE0,0x60,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFE,0x00,0x01,0x07,0x0F,0x1E,0x18,0x10,0x18,0x1E,0x0F,0x07,0x01,/*"0",0*/
0x00,0x00,0x80,0x80,0x80,0xC0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x10,0x00,/*"1",1*/
0x00,0x80,0xC0,0x60,0x20,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0x03,0x03,0x03,0x80,0xC0,0x60,0x38,0x3F,0x1F,0x07,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x18,0x18,0x1F,0x1F,0x00,/*"2",2*/
0x00,0x80,0xC0,0xE0,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x03,0x03,0x03,0x10,0x10,0x18,0x3F,0xEF,0xE7,0x80,0x00,0x00,0x07,0x0F,0x1F,0x10,0x10,0x10,0x18,0x1F,0x0F,0x07,0x00,/*"3",3*/
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x00,0xC0,0xF0,0xB8,0x8E,0x87,0x81,0xFF,0xFF,0xFF,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,/*"4",4*/
0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x3F,0x3F,0x18,0x08,0x08,0x18,0xF8,0xF0,0xE0,0x00,0x00,0x07,0x0F,0x1B,0x10,0x10,0x10,0x1C,0x1F,0x0F,0x03,0x00,/*"5",5*/
0x00,0x00,0x80,0xC0,0xC0,0x60,0x20,0x20,0xE0,0xE0,0xC0,0x00,0x00,0xFC,0xFF,0xFF,0x31,0x18,0x08,0x08,0x18,0xF8,0xF0,0xE0,0x00,0x01,0x07,0x0F,0x1C,0x18,0x10,0x10,0x18,0x0F,0x0F,0x03,/*"6",6*/
0x00,0x00,0xC0,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x03,0x03,0x00,0x00,0xE0,0xF8,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,/*"7",7*/
0x00,0x80,0xC0,0xE0,0x60,0x20,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x87,0xEF,0xEF,0x3C,0x18,0x38,0x30,0x78,0xEF,0xCF,0x83,0x00,0x07,0x0F,0x0F,0x18,0x10,0x10,0x10,0x18,0x1F,0x0F,0x07,/*"8",8*/
0x00,0x00,0xC0,0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x80,0x00,0x00,0x1F,0x3F,0x7F,0x60,0x40,0x40,0x60,0x30,0xFF,0xFF,0xFE,0x00,0x00,0x0C,0x1C,0x1C,0x10,0x10,0x18,0x0F,0x0F,0x03,0x00,/*"9",9*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,/*":",10*/
};
static FontLibrary_t fontclocklib = {
.font = fontclocklib_code,
.fontIndex = "0123456789:",
.fontIndexLen = 12,
.fontCode = kutf8,
.isAscii = true,
.widthPixel = 12,
.heightPixel = 24,
};

1
app/src/one_conduction/one_conduction_board.c

@ -274,3 +274,4 @@ void SingleLeadECG_eeprom_read(uint32_t add, uint8_t *data, uint16_t len) {
deviceSelect |= 0x01; // read
nrf_drv_twi_rx(&m_eeprom_twi_master, deviceSelect, data, len);
}

2
libznordic

@ -1 +1 @@
Subproject commit 326ebab17be4472520b0b077f59edf09be8e0dda
Subproject commit 75bac4942446a40e70c2e5d1cbfe5171a869fd69

BIN
res/PCtoLCD2002完美版.zip

BIN
res/img2lcd_cfg.png

Before

Width: 713  |  Height: 519  |  Size: 23 KiB

After

Width: 716  |  Height: 524  |  Size: 23 KiB

64
res/logo_mono.c

@ -1,4 +1,4 @@
const unsigned char gImage_logo_mono[1024] = { /* 0X00,0X01,0X80,0X00,0X40,0X00, */
const unsigned char gImage_logo_mono[1024] = { /* 0X22,0X01,0X80,0X00,0X40,0X00, */
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
@ -15,38 +15,38 @@ const unsigned char gImage_logo_mono[1024] = { /* 0X00,0X01,0X80,0X00,0X40,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,
0XF0,0XF0,0XF0,0XF0,0XF0,0XF0,0XE0,0XE0,0XC0,0XC0,0X80,0X00,0X00,0X00,0X70,0XF8,
0XF0,0XF0,0XE0,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X80,0XC0,0X00,0X00,0X00,0X00,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0XC0,0XC0,0X00,0X00,0X00,0X80,0X80,0X80,0X80,0X80,0X80,0X80,
0X80,0X00,0X00,0X80,0X80,0X80,0X80,0X80,0X80,0X80,0X00,0XC0,0XC0,0X00,0X00,0X00,
0XC0,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X7E,0XFF,0XFF,0XFF,
0XC3,0X81,0X00,0X30,0X78,0XF9,0XF1,0XF3,0XE7,0XC7,0XCF,0X8F,0X9F,0X3E,0X3C,0X3C,
0X01,0X01,0X03,0XCF,0XFF,0XFF,0XFE,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XE0,0XFC,
0XFF,0XFF,0X07,0XB7,0XB7,0XB7,0XB7,0XB7,0XB7,0XB7,0XB7,0XB7,0XB7,0X97,0X00,0X00,
0XFC,0XFC,0XFC,0XFE,0XFF,0XFE,0X01,0X1F,0XFF,0XF0,0X00,0X00,0X3E,0XFE,0XF0,0X00,
0X00,0X0C,0X9C,0XFC,0XFF,0XFF,0XEC,0X8C,0XFF,0XFF,0XFF,0X31,0X31,0X31,0X73,0XFF,
0XFF,0X00,0X01,0X01,0XFF,0XFF,0X39,0XFF,0XFF,0X01,0X86,0X8F,0X8F,0XFF,0XFE,0X8E,
0X8F,0X8F,0X8E,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X07,
0X0F,0X0F,0X1F,0X3E,0X3E,0X7C,0XF8,0XF9,0XF3,0XE3,0XE7,0XCF,0X8F,0X9F,0X1E,0X1E,
0X1E,0X1E,0X1F,0X0F,0X0F,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0XFF,
0XFF,0XFF,0X00,0XFD,0XFD,0XCD,0X8D,0X8D,0X8D,0X8D,0X8D,0XFD,0XFD,0XF8,0X00,0X30,
0X3F,0X1F,0X01,0X3F,0XFF,0XFF,0XC0,0XC0,0XC3,0XC3,0XE0,0XFC,0X7C,0X1F,0X3F,0X3E,
0X00,0X0E,0X0F,0X07,0XFF,0XFF,0X01,0X01,0X7F,0XFF,0XFF,0XC6,0XC6,0XC6,0XC6,0XFF,
0XFF,0X00,0X60,0X60,0X7F,0X7F,0X33,0XFF,0XFF,0X98,0XC1,0XE1,0XF9,0X3F,0X0F,0X1F,
0X7D,0XF1,0XC1,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0XFC,0X03,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X01,0XFF,0X03,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X03,0XFF,0XC3,0XF8,0X00,0X43,0X00,0X03,0X00,0X0C,0X00,0X00,0X18,0XC0,0X00,
0X00,0X07,0XFF,0XE1,0XFC,0X00,0XC3,0X80,0X03,0X80,0X0C,0X7F,0X9F,0XD8,0XC0,0X00,
0X00,0X07,0XC7,0XF8,0XFC,0X00,0XFF,0XFC,0X0B,0X80,0X0C,0XFF,0XBF,0XDC,0XC0,0X00,
0X00,0X0F,0X81,0XFC,0X3E,0X00,0XFF,0XFC,0X1D,0X8C,0X0C,0XE3,0X8D,0XBF,0XE0,0X00,
0X00,0X0F,0X00,0XFF,0X1E,0X01,0XFF,0XFC,0XFD,0X8C,0X7F,0XE1,0X8D,0XBF,0XE0,0X00,
0X00,0X0F,0X0C,0X3F,0X1E,0X01,0XC0,0X00,0XFD,0X8C,0X7F,0XE1,0X8F,0X9F,0XE0,0X00,
0X00,0X0F,0X1F,0X0F,0X0E,0X01,0XDF,0XFC,0XFD,0XCE,0X3C,0XFF,0X8F,0X86,0X00,0X00,
0X00,0X0F,0X1F,0X87,0X0E,0X03,0XDF,0XF8,0XFC,0XCE,0X1E,0XFF,0X8F,0X86,0X00,0X00,
0X00,0X0F,0X8F,0XE0,0X1E,0X03,0XC0,0X00,0XFC,0XC6,0X1E,0XE3,0X8D,0X86,0X00,0X00,
0X00,0X07,0XC7,0XF8,0X1E,0X07,0XDF,0XFC,0XFC,0XC6,0X3F,0XE1,0X8D,0XBF,0XE0,0X00,
0X00,0X07,0XE1,0XFC,0X3E,0X07,0XDF,0XF8,0XFC,0XC6,0X3F,0XE1,0X8F,0XBF,0XE0,0X00,
0X00,0X03,0XF8,0XFF,0XFC,0X01,0XC0,0X00,0XDC,0XC7,0X7C,0XFF,0X8F,0X87,0X00,0X00,
0X00,0X01,0XFC,0X3F,0XF8,0X01,0XDF,0XF8,0XDC,0X1F,0X7C,0XFF,0X8D,0X87,0X80,0X00,
0X00,0X00,0XFF,0X1F,0XF8,0X01,0XDF,0XFC,0XDC,0X1F,0X6C,0XE1,0X8D,0XCF,0X80,0X00,
0X00,0X00,0X3F,0X87,0XE0,0X01,0XD8,0X1D,0XDC,0X1F,0X0C,0XE1,0X8F,0XCD,0XC0,0X00,
0X00,0X00,0X1F,0XE0,0X00,0X01,0XD8,0X1D,0X9C,0X3B,0X0C,0XE1,0XBF,0X9C,0XC0,0X00,
0X00,0X00,0X07,0XF0,0X00,0X01,0XDC,0X1C,0X0F,0XF8,0X0C,0XFF,0XBD,0XB8,0XE0,0X00,
0X00,0X00,0X03,0XFC,0X00,0X01,0XDF,0XFC,0X0F,0XF0,0X0C,0X7F,0X81,0XF8,0X60,0X00,
0X00,0X00,0X00,0XFE,0X00,0X01,0X9F,0XF8,0X03,0XC0,0X0C,0X3E,0X01,0XB0,0X20,0X00,
0X00,0X00,0X00,0X7F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X1F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X06,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X03,0X07,0X07,0X0F,0X0F,0X06,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,
0X01,0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X01,0X01,0X00,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X01,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X01,0X00,0X01,0X01,0X00,0X00,0X00,0X00,
0X00,0X00,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,

Loading…
Cancel
Save