aa

Dependencies:   mbed TrapezoidControl QEI

Input/Switch/Switch.h

Committer:
yabahiro
Date:
2019-10-05
Revision:
47:b6e5a6bfe7ab
Parent:
16:3f2c2d89372b

File content as of revision 47:b6e5a6bfe7ab:

#ifndef SWITCH_H_
#define SWITCH_H_

#include "mbed.h"
#include <stdint.h>

namespace SWITCH {
    #define SW_ON   0
    #define SW_OFF  1

    //DipSwitch
    #define DIP0_PIN    PA_4
    #define DIP1_PIN    PA_6
    #define DIP2_PIN    PA_7
    #define DIP3_PIN    PC_7
                        

    //Multiplexer
    #define LS_PIN      PD_2
    #define SELECT0_PIN PC_12
    #define SELECT1_PIN PA_15
    #define SELECT2_PIN PC_13
    #define SELECT3_PIN PB_7
    
    
    #define DIP0    dipSw[0]
    #define DIP1    dipSw[1]
    #define DIP2    dipSw[2]
    #define DIP3    dipSw[3]

    class DipSw {
        public:
        static void Initialize();
        static uint8_t GetStatus();
    };
    
    class LimitSw {
        public:
        static void Initialize();
        static bool IsPressed(int index);
    };

    typedef union {
        struct {
            int s0 : 1;
            int s1 : 1;
            int s2 : 1;
            int s3 : 1;
            int : 4;
        };
        uint8_t all;
    } MP_Channel;
}

#endif