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

main.cpp

Committer:
Fratink
Date:
2021-04-11
Revision:
0:4621dca43078
Child:
1:b5afa5af13d5

File content as of revision 0:4621dca43078:

#include "mbed.h"
#include "USBKeyboard.h"
#include "TSISensor.h"

USBKeyboard keyboard;

typedef enum 
{
    ACCEPT_VIDEO_CALL,
    ACCCEPT_AUDIO_CALL,
    DECLINE_CALL,
    TOGGLE_MUTE,
    TOGGLE_VIDEO
}CommandList_e;


DigitalIn button(PTB0);

//PwmOut rled(LED_RED);
//PwmOut gled(LED2);
//PwmOut bled(LED3);

void sendKeyboardCommand(CommandList_e command)
{
    switch(command)
    {
    case ACCEPT_VIDEO_CALL:
        keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT); 
        break;
    case ACCCEPT_AUDIO_CALL:
        keyboard.keyCode('a',KEY_CTRL|KEY_SHIFT); 
        break;
    case DECLINE_CALL:
        keyboard.keyCode('d',KEY_CTRL|KEY_SHIFT); 
        break;
    case TOGGLE_MUTE:
        keyboard.keyCode('m',KEY_CTRL|KEY_SHIFT); 
        break;
    case TOGGLE_VIDEO:
        keyboard.keyCode('o',KEY_CTRL|KEY_SHIFT); 
        break;
    default:
        break;
    };   
}


int main(void)
{
//    rled.period(0.001);
    TSISensor tsi;
    PwmOut rled(LED_RED);
    
    while(1)
    {
        rled = 1.0 - tsi.readPercentage();
        wait(0.1);
//        wait(1);
//        keyboard.printf("Hello World\r\n");
        
    };
}