Sends infinity hotkey combinations (Current: LCTRL + RALT + NUM) Cycles numbers 0 to 9 with gaps of 10 seconds.

Dependencies:   mbed C12832 USBDevice

Dependents:   mbed_alif4000_hotkeys_3chan_001

Files at this revision

API Documentation at this revision

Comitter:
jwingar
Date:
Thu Oct 15 13:55:37 2020 +0000
Parent:
4:6bf4cdb7b834
Commit message:
updated to not have an idle state

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Jun 03 14:38:07 2019 +0000
+++ b/main.cpp	Thu Oct 15 13:55:37 2020 +0000
@@ -6,12 +6,11 @@
 
 ****************************************************************************/
 
-
+//imports
 #include "mbed.h"
 #include "C12832.h"
 #include "USBKeyboard.h"
 
-
 // To change LED colour at channel switching
 BusOut leds(p23, p24, p25);
 BusOut myleds(LED1, LED2, LED3, LED4);
@@ -24,28 +23,23 @@
 
 // Switching period: 'every <speed> seconds'
 const float speed = 10.0;
-const int hotkeys = KEY_CTRL | KEY_SHIFT;
-const int maxChannels = 3;
-const int maxChSw = 60;
-const int remainMinutesMax = 50;
+const int hotkeys = KEY_CTRL | KEY_RALT;
+const int max_channel = 9;
 
-void lcd_print(int key, int count, float speed) {
+//print to lcd screen while channel switching
+void lcd_print_switching(int key, int total, float speed, int sets) {
     lcd.cls();
     lcd.locate(0,0);
-    lcd.printf("Sending CTRL+SHIFT+%c \nCount: %d\nSpeed: %4.2f\n", key, count, speed);
+    lcd.printf("Sending CTRL+RALT+%c \nCount: %d, Sets: %d\nSpeed: %4.2f seconds\n", key, total, sets, speed);
 }
 
-void lcd_print2(int rMinutes, int rMinutesMax) {
-    lcd.cls();
-    lcd.locate(0,0);
-    lcd.printf("Idle time:\n>>> %d/%d minutes\n", rMinutes, rMinutesMax);
-}
-
-// Start programm
+// Start programme
 int main(void) {
-    int key_base;
-    int count = 1; // Cumulative channel switching count
-    char key_modifier;
+    
+    int key_base; // channel number
+    int count = 0; // Cumulative channel switching count
+    int sets = 0; // Cumulative channel switching sets
+    char key_modifier; 
     
     //Disconnect any existing connections
     lcd.cls();
@@ -53,37 +47,22 @@
     lcd.printf("Starting Up..\nAllowing USB to settle\n>>Please Wait<< ");
     wait(10);
  
-    // Loop forever:
-    // (1) Channel switch continuously for maxChSw in first part of hour.
-    // (2) Idle (no channel switching for remainder of hour.   
+    // Loop forever
     while(1) {
         
-        int chswTotal = 1;
+        key_base = 0;
         
-        // (1) Channel switch continuously.        
-        while(chswTotal <= maxChSw) {
-            key_base = 1;
-            while(key_base <= maxChannels) {
-                lcd.cls();
-                leds = ~key_base;
-                myleds = key_base;
-                key_modifier = '0'+key_base;
-                keyboard.keyCode(key_modifier, hotkeys);
-                lcd_print(key_modifier, count, speed);
-                wait(speed);
-                key_base++;
-                count++;
-                chswTotal++;          
-            }
+        while(key_base <= max_channel) {
+            lcd.cls();
+            leds = ~key_base;
+            myleds = key_base;
+            key_modifier = '0'+key_base; //turn to ascii value
+            keyboard.keyCode(key_modifier, hotkeys);
+            count++;
+            lcd_print_switching(key_modifier, count, speed, sets);
+            key_base++;
+            wait(speed);
         }
-        
-        // (2) Idle for remainder of hour, counting up
-        // every 1 minute.
-        int remainMin = 1;
-        while(remainMin <= remainMinutesMax) {
-            lcd_print2(remainMin, remainMinutesMax);
-            wait(60.0);
-            remainMin++;
-        }                      
+        sets++;              
     }
 }