mbed Phone Platform

Dependencies:   ulaw mbed ConfigFile

Line.h

Committer:
okini3939
Date:
2011-01-07
Revision:
4:41a3534d085f
Parent:
3:1d5dc4107558
Child:
6:bd62b12de751

File content as of revision 4:41a3534d085f:

#include "phone.h"
#include "mbed.h"
#include "RingBuffer.h"

/**
 * @brief Line class
 */
class Line {
public:
    Line (PinName p_line, PinName p_xline, PinName p_hook, AnalogOut p_dac);

    void intr ();
    void poll ();
    int enter (enum Mode);
    int scan (enum Scan);

private:
    enum Mode mode;
    enum Status status;
    int dialtimer, dialcount, hooktimer, tonecount;
    int hook_last;
    DigitalOut line, xline;
    DigitalIn hook;
    AnalogOut dac;
    RingBuffer dial;

    void power (int);
    void ring ();
    void tone (enum Tone);
};