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:21:23 2021 +0000
Revision:
1:b5afa5af13d5
Parent:
0:4621dca43078
Child:
2:4097fa431680
First working version, using sparkfun joystick shield

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 1:b5afa5af13d5 17 DigitalIn up(D4);
Fratink 1:b5afa5af13d5 18 DigitalIn down(D5);
Fratink 1:b5afa5af13d5 19 DigitalIn left(D6);
Fratink 1:b5afa5af13d5 20 DigitalIn right(D3);
Fratink 1:b5afa5af13d5 21
Fratink 0:4621dca43078 22
Fratink 0:4621dca43078 23 //PwmOut rled(LED_RED);
Fratink 0:4621dca43078 24 //PwmOut gled(LED2);
Fratink 0:4621dca43078 25 //PwmOut bled(LED3);
Fratink 0:4621dca43078 26
Fratink 0:4621dca43078 27 void sendKeyboardCommand(CommandList_e command)
Fratink 0:4621dca43078 28 {
Fratink 0:4621dca43078 29 switch(command)
Fratink 0:4621dca43078 30 {
Fratink 0:4621dca43078 31 case ACCEPT_VIDEO_CALL:
Fratink 0:4621dca43078 32 keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 33 break;
Fratink 0:4621dca43078 34 case ACCCEPT_AUDIO_CALL:
Fratink 0:4621dca43078 35 keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 36 break;
Fratink 0:4621dca43078 37 case DECLINE_CALL:
Fratink 0:4621dca43078 38 keyboard.keyCode('d',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 39 break;
Fratink 0:4621dca43078 40 case TOGGLE_MUTE:
Fratink 0:4621dca43078 41 keyboard.keyCode('m',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 42 break;
Fratink 0:4621dca43078 43 case TOGGLE_VIDEO:
Fratink 0:4621dca43078 44 keyboard.keyCode('o',KEY_CTRL|KEY_SHIFT);
Fratink 0:4621dca43078 45 break;
Fratink 0:4621dca43078 46 default:
Fratink 0:4621dca43078 47 break;
Fratink 0:4621dca43078 48 };
Fratink 0:4621dca43078 49 }
Fratink 0:4621dca43078 50
Fratink 0:4621dca43078 51
Fratink 0:4621dca43078 52 int main(void)
Fratink 0:4621dca43078 53 {
Fratink 0:4621dca43078 54 // rled.period(0.001);
Fratink 1:b5afa5af13d5 55 // TSISensor tsi;
Fratink 1:b5afa5af13d5 56 up.mode(PullUp);
Fratink 1:b5afa5af13d5 57 down.mode(PullUp);
Fratink 1:b5afa5af13d5 58 left.mode(PullUp);
Fratink 1:b5afa5af13d5 59 right.mode(PullUp);
Fratink 0:4621dca43078 60
Fratink 0:4621dca43078 61 while(1)
Fratink 0:4621dca43078 62 {
Fratink 1:b5afa5af13d5 63 // rled = 1.0 - tsi.readPercentage();
Fratink 0:4621dca43078 64 wait(0.1);
Fratink 1:b5afa5af13d5 65 if(!up)
Fratink 1:b5afa5af13d5 66 keyboard.printf("Hello World\r\n");
Fratink 0:4621dca43078 67 // wait(1);
Fratink 0:4621dca43078 68 // keyboard.printf("Hello World\r\n");
Fratink 0:4621dca43078 69
Fratink 0:4621dca43078 70 };
Fratink 0:4621dca43078 71 }
Fratink 0:4621dca43078 72