北海道情報専門学校 ライフハック研究所のエンベデッドUSBチーム松葉和仁により開発されたUSBSecのmbedに使用するソースコード by 和仁

Dependencies:   SDFileSystem MusicEngine

Fork of mbed-os-example-ble-LED by mbed-os-examples

北海道情報専門学校 ライフハック研究所 エンベデッドUSB USBSec用mbedプログラム

松葉和仁

Revision:
27:2416a123f5ad
Parent:
26:f3bc0ee1e9b5
Child:
28:846bd19a9230
--- a/source/main.cpp	Fri Feb 03 02:34:28 2017 +0000
+++ b/source/main.cpp	Fri Feb 03 04:30:24 2017 +0000
@@ -47,7 +47,7 @@
 char password[] = {0x00,0x00,0x00,0x00,0x00,0x00};//デバッグパスワード
 
 //http://mag.switch-science.com/2015/06/17/fathersday2015/
-int speakerMode = 0;//1:接続 2:切断 3:認証エラー 4:パスワードリセット
+int speakerMode = 0;//1:接続 2:切断 3:認証エラー 4:パスワードリセット 5:起動
 
 //接続
 void connectAlertOff();
@@ -185,6 +185,34 @@
     eventQueue.call(&passwordResetAlertOn);
 }
 
+//起動音
+void startupAlertOff();
+
+/**
+ *起動発音
+ *移動時に発音を開始するためのキュー
+ */
+void startupAlertOn() {
+    DEBUG("startupAlertOn\r\n");
+    Speaker.play("T160L4CDCDEFE");
+    eventQueue.call_in(3000.0f, &startupAlertOff);
+}
+
+void startupAlertOff() {
+    DEBUG("startupAlertOff\r\n");
+    if(speakerMode == 5){
+        speakerD = 0;
+        speakerMode = 0;
+    }
+}
+
+void startupAlertStart() {
+    DEBUG("startupAlertStart\r\n");
+    speakerMode = 5;
+    speakerD = 1;
+    eventQueue.call(&startupAlertOn);
+}
+
 /**
  *パワー検出コード
  *タクトスイッチが押されたときに実行されるキュー
@@ -413,6 +441,7 @@
         DEBUG("VerificationLength:%d\r\n",params->len);
         DEBUG("RegisterLength:%d\r\n",sizeof(password));
         if(params->len != sizeof(password)){
+            eventQueue.call(&authErrorAlertStart);
             DEBUG("認証に失敗しました\r\n");
             return;
         }
@@ -516,6 +545,8 @@
     ble.gap().startAdvertising();
     
     DEBUG("BluetoothStart!\r\n");
+    
+    eventQueue.call(&startupAlertStart);
 }
 
 void scheduleBleEventsProcessing(BLE::OnEventsToProcessCallbackContext* context) {
@@ -571,6 +602,6 @@
     }
 
     eventQueue.dispatch_forever();
-
+    
     return 0;
 }