Browse Source

添加设备激活状态标志位

master
zhaohe 1 year ago
parent
commit
26ed0c819c
  1. 4
      .vscode/settings.json
  2. 4
      README.md
  3. 184
      app/app.uvoptx
  4. 40
      app/app.uvprojx
  5. 4
      app/config/sdk_config.h
  6. 61
      app/src/app_basic_service/device_version_info_mgr.c
  7. 10
      app/src/app_basic_service/device_version_info_mgr.h
  8. 10
      app/src/one_conduction_main.c

4
.vscode/settings.json

@ -213,7 +213,9 @@
"mutex": "cpp",
"nrf_atomic.h": "c",
"beep_ctrl.h": "c",
"hardware_power_mgr.h": "c"
"hardware_power_mgr.h": "c",
"nrf_fstorage_sd.h": "c",
"nrf_fstorage.h": "c"
},
"files.encoding": "gbk"
}

4
README.md

@ -91,4 +91,8 @@ State
全部使能
```
```
nrfjprog --readcode flash.hex
```

184
app/app.uvoptx

@ -871,17 +871,29 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>39</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\sdk\modules\nrfx\hal\nrf_nvmc.c</PathWithFileName>
<FilenameWithoutPath>nrf_nvmc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>nRF_Libraries</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>39</FileNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -893,7 +905,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>40</FileNumber>
<FileNumber>41</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -905,7 +917,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>41</FileNumber>
<FileNumber>42</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -917,7 +929,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>42</FileNumber>
<FileNumber>43</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -929,7 +941,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>43</FileNumber>
<FileNumber>44</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -941,7 +953,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>44</FileNumber>
<FileNumber>45</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -953,7 +965,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>45</FileNumber>
<FileNumber>46</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -965,7 +977,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>46</FileNumber>
<FileNumber>47</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -977,7 +989,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>47</FileNumber>
<FileNumber>48</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -989,7 +1001,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>48</FileNumber>
<FileNumber>49</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1001,7 +1013,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>49</FileNumber>
<FileNumber>50</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1013,7 +1025,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>50</FileNumber>
<FileNumber>51</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1025,7 +1037,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>51</FileNumber>
<FileNumber>52</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1037,7 +1049,7 @@
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>52</FileNumber>
<FileNumber>53</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1049,7 +1061,7 @@
</File>
<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>
@ -1213,7 +1225,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>66</FileNumber>
<FileNumber>67</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1225,7 +1237,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>67</FileNumber>
<FileNumber>68</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1237,7 +1249,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>68</FileNumber>
<FileNumber>69</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1249,7 +1261,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>69</FileNumber>
<FileNumber>70</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1261,7 +1273,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>70</FileNumber>
<FileNumber>71</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1273,7 +1285,7 @@
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>71</FileNumber>
<FileNumber>72</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1293,7 +1305,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>72</FileNumber>
<FileNumber>73</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1305,7 +1317,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>73</FileNumber>
<FileNumber>74</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1317,7 +1329,7 @@
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>74</FileNumber>
<FileNumber>75</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1337,7 +1349,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>75</FileNumber>
<FileNumber>76</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1349,7 +1361,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>76</FileNumber>
<FileNumber>77</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1361,7 +1373,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>77</FileNumber>
<FileNumber>78</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1381,7 +1393,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>12</GroupNumber>
<FileNumber>78</FileNumber>
<FileNumber>79</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1393,7 +1405,7 @@
</File>
<File>
<GroupNumber>12</GroupNumber>
<FileNumber>79</FileNumber>
<FileNumber>80</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1405,7 +1417,7 @@
</File>
<File>
<GroupNumber>12</GroupNumber>
<FileNumber>80</FileNumber>
<FileNumber>81</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1425,7 +1437,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>81</FileNumber>
<FileNumber>82</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1437,7 +1449,7 @@
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>82</FileNumber>
<FileNumber>83</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1447,6 +1459,42 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>84</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\sdk\components\libraries\fstorage\nrf_fstorage.c</PathWithFileName>
<FilenameWithoutPath>nrf_fstorage.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>85</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\sdk\components\libraries\fstorage\nrf_fstorage_nvmc.c</PathWithFileName>
<FilenameWithoutPath>nrf_fstorage_nvmc.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>13</GroupNumber>
<FileNumber>86</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\sdk\components\libraries\fstorage\nrf_fstorage_sd.c</PathWithFileName>
<FilenameWithoutPath>nrf_fstorage_sd.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@ -1457,7 +1505,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>83</FileNumber>
<FileNumber>87</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1469,7 +1517,7 @@
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>84</FileNumber>
<FileNumber>88</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1481,7 +1529,7 @@
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>85</FileNumber>
<FileNumber>89</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1493,7 +1541,7 @@
</File>
<File>
<GroupNumber>14</GroupNumber>
<FileNumber>86</FileNumber>
<FileNumber>90</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1507,13 +1555,13 @@
<Group>
<GroupName>app_service</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>87</FileNumber>
<FileNumber>91</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1525,7 +1573,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>88</FileNumber>
<FileNumber>92</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1537,7 +1585,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>89</FileNumber>
<FileNumber>93</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1549,7 +1597,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>90</FileNumber>
<FileNumber>94</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1561,7 +1609,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>91</FileNumber>
<FileNumber>95</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1573,7 +1621,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>92</FileNumber>
<FileNumber>96</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1585,7 +1633,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>93</FileNumber>
<FileNumber>97</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1597,7 +1645,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>94</FileNumber>
<FileNumber>98</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1609,7 +1657,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>95</FileNumber>
<FileNumber>99</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1621,7 +1669,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>96</FileNumber>
<FileNumber>100</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1633,7 +1681,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>97</FileNumber>
<FileNumber>101</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1645,7 +1693,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>98</FileNumber>
<FileNumber>102</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1657,7 +1705,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>99</FileNumber>
<FileNumber>103</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1669,7 +1717,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>100</FileNumber>
<FileNumber>104</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1681,7 +1729,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>101</FileNumber>
<FileNumber>105</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1693,7 +1741,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>102</FileNumber>
<FileNumber>106</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1705,7 +1753,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>103</FileNumber>
<FileNumber>107</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1717,7 +1765,7 @@
</File>
<File>
<GroupNumber>15</GroupNumber>
<FileNumber>104</FileNumber>
<FileNumber>108</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

40
app/app.uvprojx

@ -1674,6 +1674,11 @@
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_timer.c</FilePath>
</File>
<File>
<FileName>nrf_nvmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\hal\nrf_nvmc.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -3760,6 +3765,21 @@
<FileType>1</FileType>
<FilePath>..\sdk\external\fatfs\src\ff.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage_nvmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage_nvmc.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage_sd.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage_sd.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -5558,6 +5578,11 @@
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\drivers\src\nrfx_timer.c</FilePath>
</File>
<File>
<FileName>nrf_nvmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\modules\nrfx\hal\nrf_nvmc.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -7644,6 +7669,21 @@
<FileType>1</FileType>
<FilePath>..\sdk\external\fatfs\src\ff.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage_nvmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage_nvmc.c</FilePath>
</File>
<File>
<FileName>nrf_fstorage_sd.c</FileName>
<FileType>1</FileType>
<FilePath>..\sdk\components\libraries\fstorage\nrf_fstorage_sd.c</FilePath>
</File>
</Files>
</Group>
<Group>

4
app/config/sdk_config.h

@ -9,5 +9,9 @@
// #define NRF_LOG_BACKEND_UART_BAUDRATE 121634816 // 400800 baud
#define NRF_LOG_BACKEND_UART_BAUDRATE 268435456 // 1000000 baud
#define NRF_DFU_APP_DATA_AREA_SIZE 8192
#define NRF_FSTORAGE_ENABLED 1
#include "libznordic/zsdk_config/zsdk_ble_slave_config.h"

61
app/src/app_basic_service/device_version_info_mgr.c

@ -1,9 +1,54 @@
#include "device_version_info_mgr.h"
#include "aproject_config/config.h"
#include "nrf_fstorage.h"
#include "nrf_fstorage_sd.h"
#include "zble_module.h"
//
#include "znordic.h"
static void fstorage_evt_handler(nrf_fstorage_evt_t *p_evt) {
if (p_evt->result != NRF_SUCCESS) {
NRF_LOG_INFO("--> Event received: ERROR while executing an fstorage operation.");
return;
}
switch (p_evt->id) {
case NRF_FSTORAGE_EVT_WRITE_RESULT: {
NRF_LOG_INFO("--> Event received: wrote %d bytes at address 0x%x.", p_evt->len, p_evt->addr);
} break;
case NRF_FSTORAGE_EVT_ERASE_RESULT: {
NRF_LOG_INFO("--> Event received: erased %d page from address 0x%x.", p_evt->len, p_evt->addr);
} break;
default:
break;
}
}
NRF_FSTORAGE_DEF(nrf_fstorage_t fstorage) = {
/* Set a handler for fstorage events. */
.evt_handler = fstorage_evt_handler,
};
static void print_flash_info(nrf_fstorage_t *p_fstorage) {
NRF_LOG_INFO("========| flash info |========");
NRF_LOG_INFO("erase unit: \t%d bytes", p_fstorage->p_flash_info->erase_unit);
NRF_LOG_INFO("program unit: \t%d bytes", p_fstorage->p_flash_info->program_unit);
NRF_LOG_INFO("==============================");
}
void device_info_init() {
fstorage.start_addr = NRF_UICR->NRFFW[0] - NRF_DFU_APP_DATA_AREA_SIZE;
fstorage.end_addr = NRF_UICR->NRFFW[0];
nrf_fstorage_api_t *p_fs_api;
p_fs_api = &nrf_fstorage_sd;
APP_ERROR_CHECK(nrf_fstorage_init(&fstorage, p_fs_api, NULL));
print_flash_info(&fstorage);
}
void device_info_read_sn(sn_t *sn) {
uint32_t lot = NRF_UICR->CUSTOMER[0];
uint32_t id = NRF_UICR->CUSTOMER[1];
@ -26,4 +71,18 @@ const char *device_info_read_sn_str() {
uint16_t device_info_read_blestack_version(void) { return BLESTACK_VERSION; }
uint16_t device_info_read_bootloader_version(void) { return BOOTLOADER_VERSION; }
uint16_t device_info_read_firmware_version(void) { return FIRMWARE_VERSION; }
uint16_t device_info_read_hardware_version(void) { return HARDWARE_VERSION; }
uint16_t device_info_read_hardware_version(void) { return HARDWARE_VERSION; }
void device_info_write_active_flag(bool val) {
uint32_t data;
nrf_fstorage_write(&fstorage, fstorage.start_addr, &data, sizeof(data), NULL);
}
bool device_info_get_active_flag() {
uint32_t data;
nrf_fstorage_read(&fstorage, fstorage.start_addr, &data, sizeof(data));
if (data != 0x12345678) {
return false;
} else {
return true;
}
}

10
app/src/app_basic_service/device_version_info_mgr.h

@ -1,16 +1,20 @@
#pragma once
#include "znordic.h"
typedef struct {
uint8_t sn[14];
} sn_t;
void device_info_init();
void device_info_read_sn(sn_t *sn);
const char *device_info_read_sn_str();
uint16_t device_info_read_blestack_version(void);
uint16_t device_info_read_bootloader_version(void);
uint16_t device_info_read_firmware_version(void);
uint16_t device_info_read_hardware_version(void);
uint16_t device_info_read_hardware_version(void);
void device_info_write_active_flag(bool val);
bool device_info_get_active_flag();

10
app/src/one_conduction_main.c

@ -15,6 +15,9 @@
#include "app_service/ecg_service/ecg_service.h"
#include "app_service/light_ctrl.h"
#include "zble_module.h"
//
#include "nrf_fstorage.h"
#include "nrf_fstorage_sd.h"
/***********************************************************************************************************************
* GLOBAL *
@ -282,7 +285,7 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size) {
*/
if (p_event->eventType == kappevent_battery_start_charge) {
zapp_state_machine_change_state(kstate_charging);
} else if (!znordic_rtc_has_setted() && zapp_state_machine_haspassed_ms() >= 60000) {
} else if (!device_info_get_active_flag() && zapp_state_machine_haspassed_ms() >= 60000) {
ZLOGI_BLOCK("rtc not setted, power system off");
ZERROR_CHECK(sd_power_system_off());
}
@ -336,10 +339,13 @@ void on_zapp_ebus_event(void* p_event_data, uint16_t event_size) {
}
void one_conduction_main() {
device_info_init();
sn_t sn;
device_info_read_sn(&sn);
ZLOGI("one_conduction_main %s", sn.sn);
ZLOGI("one_conduction_main %s active:%d", sn.sn, device_info_get_active_flag());
ZLOG_FLUSH();
zapp_ebus_reg_event_listener(on_zapp_ebus_event);
zapp_state_machine_reg_state_change_listener(on_state_change);
zble_module_reglistener(on_zble_event);

Loading…
Cancel
Save