http://mbed.org/users/shintamainjp/notebook/starboard_expbrd-one_ex1_en/

Dependencies:   mbed RemoteIR SuperTweet ConfigFile EthernetNetIf

mylib/MyHomeLight/MyHomeLight.h

Committer:
shintamainjp
Date:
2010-10-29
Revision:
0:db299c5a18ba
Child:
1:c4cfd136f9c7

File content as of revision 0:db299c5a18ba:

#include "mbed.h"
#include "TransmitterIR.h"

class MyHomeLight {
public:

    /**
     * Create.
     *
     * @param tx_pin Pin of IR transmitter.
     */
    explicit MyHomeLight(PinName tx_pin);

    /**
     * Dispose.
     */
    ~MyHomeLight();

    /**
     * Toggle state.
     *
     * @param channel Target channel number.
     * @return true if it succeed.
     */
    bool toggle(const int channel);

private:
    TransmitterIR tx;

    typedef struct {
        int channel;    /**< Channel number. */
        char *signal;   /**< Signal data. */
    } light_signal_t;

    /**
     * Signal for a light.
     */
    static const light_signal_t lights[8];

    /**
     * Get a signal for a light.
     *
     * @param channel Channel of a light.
     *
     * @return A pointer to a signal.
     */
    uint8_t *getLightSignal(int channel);
};