Simple project that creates a device capable of controlling MS teams. It can Mute, Decline a Call, Answer Audio, or Answer Video. This is using the Sparkfun Joystick Shield attached to a KL25Z, but can be easily modified to work with whatever buttons you want.

Dependencies:   mbed TSI USBDevice

Committer:
Fratink
Date:
Sun Apr 11 05:10:40 2021 +0000
Revision:
0:4621dca43078
Child:
1:b5afa5af13d5
Mostly complete system

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Fratink 0:4621dca43078 1 #include "mbed.h"
Fratink 0:4621dca43078 2 #include "USBKeyboard.h"
Fratink 0:4621dca43078 3 #include "TSISensor.h"
Fratink 0:4621dca43078 4
Fratink 0:4621dca43078 5 USBKeyboard keyboard;
Fratink 0:4621dca43078 6
Fratink 0:4621dca43078 7 typedef enum
Fratink 0:4621dca43078 8 {
Fratink 0:4621dca43078 9 ACCEPT_VIDEO_CALL,
Fratink 0:4621dca43078 10 ACCCEPT_AUDIO_CALL,
Fratink 0:4621dca43078 11 DECLINE_CALL,
Fratink 0:4621dca43078 12 TOGGLE_MUTE,
Fratink 0:4621dca43078 13 TOGGLE_VIDEO
Fratink 0:4621dca43078 14 }CommandList_e;
Fratink 0:4621dca43078 15
Fratink 0:4621dca43078 16
Fratink 0:4621dca43078 17 DigitalIn button(PTB0);
Fratink 0:4621dca43078 18
Fratink 0:4621dca43078 19 //PwmOut rled(LED_RED);
Fratink 0:4621dca43078 20 //PwmOut gled(LED2);
Fratink 0:4621dca43078 21 //PwmOut bled(LED3);
Fratink 0:4621dca43078 22
Fratink 0:4621dca43078 23 void sendKeyboardCommand(CommandList_e command)
Fratink 0:4621dca43078 24 {
Fratink 0:4621dca43078 25 switch(command)
Fratink 0:4621dca43078 26 {
Fratink 0:4621dca43078 27 case ACCEPT_VIDEO_CALL:
Fratink 0:4621dca43078 28 keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 29 break;
Fratink 0:4621dca43078 30 case ACCCEPT_AUDIO_CALL:
Fratink 0:4621dca43078 31 keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 32 break;
Fratink 0:4621dca43078 33 case DECLINE_CALL:
Fratink 0:4621dca43078 34 keyboard.keyCode('d',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 35 break;
Fratink 0:4621dca43078 36 case TOGGLE_MUTE:
Fratink 0:4621dca43078 37 keyboard.keyCode('m',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 38 break;
Fratink 0:4621dca43078 39 case TOGGLE_VIDEO:
Fratink 0:4621dca43078 40 keyboard.keyCode('o',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 41 break;
Fratink 0:4621dca43078 42 default:
Fratink 0:4621dca43078 43 break;
Fratink 0:4621dca43078 44 };
Fratink 0:4621dca43078 45 }
Fratink 0:4621dca43078 46
Fratink 0:4621dca43078 47
Fratink 0:4621dca43078 48 int main(void)
Fratink 0:4621dca43078 49 {
Fratink 0:4621dca43078 50 // rled.period(0.001);
Fratink 0:4621dca43078 51 TSISensor tsi;
Fratink 0:4621dca43078 52 PwmOut rled(LED_RED);
Fratink 0:4621dca43078 53
Fratink 0:4621dca43078 54 while(1)
Fratink 0:4621dca43078 55 {
Fratink 0:4621dca43078 56 rled = 1.0 - tsi.readPercentage();
Fratink 0:4621dca43078 57 wait(0.1);
Fratink 0:4621dca43078 58 // wait(1);
Fratink 0:4621dca43078 59 // keyboard.printf("Hello World\r\n");
Fratink 0:4621dca43078 60
Fratink 0:4621dca43078 61 };
Fratink 0:4621dca43078 62 }
Fratink 0:4621dca43078 63