PCP Include File

Main Page Compound List File List Header Files Sources Compound Members File Members

# pcp.h

This is the verbatim text of the pcp.h include file.

    #ifndef PCP_H_
    #define PCP_H_
    /*
       Copyright (C) 1999 PolyWog and Javaman for Ghetto.Org
       This file is part of the PCR-1000 API Library.

       The PCR-1000 API Library is free software; you can redistribute it and/or
       modify it under the terms of the GNU Library General Public License as
       published by the Free Software Foundation; either version 2 of the
       License, or (at your option) any later version.

       The PCR-1000 API Library is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       Library General Public License for more details.

       You should have received a copy of the GNU Library General Public
       License along with the PCR-1000 API Library; see the file LICENSE.  If not,
       write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
       Boston, MA 02111-1307, USA.
     */

    #include <pcrdef.h>
    #include <pcomm.h>
    #include <sys/termios.h> /* for tcflag_t */

    #define PCPDefaultPort "/dev/pcr1000"
    #define PCPDefaultSpeed B9600

    struct PRadInf {
            char        PCPPort[64];
            tcflag_t    PCPSpeed;
            char        PCPInitSpeed[8];
            int         PCPVolume;
            int         PCPSquelch;

            pcrfreq_t   PCPFreq;

            pcrcmd_t    PCPMode[128];

            pcrcmd_t    PCPFilter[128];
            bool            PCPAutoUpdate;

            const char      *PCPToneSq;
            float       PCPToneSqFloat;
            bool            PCPAutoGain;
            bool            PCPNoiseBlank;
            bool            PCPRFAttenuator;
    };

    class PCP {
        public:
            PCP(char *port=PCPDefaultPort, tcflag_t speed=PCPDefaultSpeed,
                const char *name=0);
            ~PCP();

            bool PCPInit(bool autoUpdate=false);
            bool PCPPowerUp();
            bool PCPPowerDown();

            // basic radio methods
            bool PCPSetSpeed(tcflag_t);
            bool PCPSetPort(const char *);
            bool PCPSetVolume(int);
            bool PCPSetSquelch(int);
            bool PCPSetFreq(pcrfreq_t);
            bool PCPSetMode(const char *);
            bool PCPSetFilter(const char *);
            int  PCPSigStrength();
            const char *PCPSigStrengthStr();

            // advanced radio methods
            bool PCPSetToneSq(const char*);
            bool PCPSetToneSq(float);
            bool PCPSetAutoGain(bool);
            bool PCPSetNB(bool);
            bool PCPSetRFAttenuator(bool);

            bool             PCPIsOn();
            bool             PCPQueryOn();
            bool             PCPQuerySquelch();
            const char      *PCPGetPort();
            tcflag_t         PCPGetSpeed_t();
            const char      *PCPGetSpeed();
            int              PCPGetVolume();
            const char      *PCPGetVolumeStr();
            int              PCPGetSquelch();
            const char      *PCPGetSquelchStr();
            pcrfreq_t        PCPGetFreq();
            const char      *PCPGetFreqStr();
            const pcrcmd_t  *PCPGetMode();
            const char      *PCPGetModeStr();
            const pcrcmd_t  *PCPGetFilter();
            const char      *PCPGetFilterStr();

            const char  *PCPGetToneSq();
            const char  *PCPGetToneSqStr();
            bool             PCPGetAutoGain();
            const char  *PCPGetAutoGainStr();
            bool             PCPGetNB();
            const char  *PCPGetNBStr();
            bool             PCPGetRFAttenuator();
            const char  *PCPGetRFAttenuatorStr();

            const PRadInf PCPGetRadioInfo();

        private:
            bool            PCPCheckResponse();

            PComm           *PCPComm;
            bool        PCPStatus;
            bool            PCPErrRead;
            char            PCPTemp[256];

            struct PRadInf *PCPRadio;
    };

    #endif /* PCP_H_ */