Record SPS30 in SD

Dependencies:   mbed SPS30 SDFileSystem

Files at this revision

API Documentation at this revision

Comitter:
imadaemi
Date:
Fri Jan 29 03:58:04 2021 +0000
Commit message:
Record SPS30 in SD

Changed in this revision

SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
SPS30.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Fri Jan 29 03:58:04 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/teams/IZU2020/code/SDFileSystem/#7d0c7cd191a9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SPS30.lib	Fri Jan 29 03:58:04 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/teams/IZU2020/code/SPS30/#258136183ba2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jan 29 03:58:04 2021 +0000
@@ -0,0 +1,62 @@
+//21.01.06_0しか出ないけど,動作確認済み
+//21.01.20_値がでるようになった.動作確認済み
+//21.01.28_SDと統合
+
+//自動ファンクリーニングは毎回すること
+//起動後,有効な値がとれるまでの待機時間が必要
+//サンプリング間隔は1sごと
+
+#include "mbed.h"
+#include "sps30.h"
+#include "SDFileSystem.h"
+
+Serial pc(USBTX, USBRX, 115200);
+Sps30 sps(D4, D5, 100000);
+//SDFileSystem sd_file_system(A6,A5,A4,A3,"sd");
+SDFileSystem sd_file_system(D11,D12,D13,D10,"sd");
+
+int main(){
+    pc.printf("Hello PC!\r\n");
+
+/*****SD準備******************/
+
+    mkdir("/sd/mydir", 0777);
+    
+    FILE *fp = fopen("/sd/mydir/spstest.txt", "w");
+    if(fp == NULL) {
+        error("Could not open file for write\r\n");
+    }
+     
+/*****初期設定*****************/
+    while(1){
+        wait(1.0f);
+//        pc.printf("%d\r\n",sps.InitSPS30());
+        if(sps.InitSPS30() == 1){
+            pc.printf("SPS30 is Ready!!\r\n");
+            break;
+        }else{
+            pc.printf("waiting...\r\n");
+            pc.printf("%d\r\n", sps.InitSPS30());
+        }
+    }
+    
+/*****手動ファンクリーニング*****//*****注:毎回すること!!!*******/
+/*
+    sps.StartFanClean();
+    pc.printf("Fan Cleaning!\r\n");
+*/
+
+/*****計測*********************/
+    while(1){
+        wait(1.0f);//サンプリング間隔は1sごと
+        if(sps.PollSPS30() == 3){
+        pc.printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", sps.mass_1p0_f, sps.mass_2p5_f, sps.mass_4p0_f, sps.mass_10p0_f, sps.num_0p5_f, sps.num_1p0_f, sps.num_2p5_f, sps.num_4p0_f, sps.num_10p0_f, sps.typ_pm_size_f); 
+        fprintf(fp, "%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", sps.mass_1p0_f, sps.mass_2p5_f, sps.mass_4p0_f, sps.mass_10p0_f, sps.num_0p5_f, sps.num_1p0_f, sps.num_2p5_f, sps.num_4p0_f, sps.num_10p0_f, sps.typ_pm_size_f);
+        
+        }else{
+        pc.printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+        fprintf(fp, "%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+        }
+    }
+    fclose(fp);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Jan 29 03:58:04 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file