/*
* freq.c
*
* Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name Texas Instruments nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/** \file freq.c
* \brief frequency to channel (and vice versa) conversion implementation
*
* \see freq.h
*/
#define __FILE_ID__ FILE_ID_126
#include "osTIType.h"
#define CHAN_FREQ_TABLE_SIZE (sizeof(ChanFreq) / sizeof(CHAN_FREQ))
typedef struct {
TI_UINT8 chan;
TI_UINT32 freq;
} CHAN_FREQ;
static CHAN_FREQ ChanFreq[] = {
{1, 2412000},
{2, 2417000},
{3, 2422000},
{4, 2427000},
{5, 2432000},
{6, 2437000},
{7, 2442000},
{8, 2447000},
{9, 2452000},
{10, 2457000},
{11, 2462000},
{12, 2467000},
{13, 2472000},
{14, 2484000},
{34, 5170000},
{36, 5180000},
{38, 5190000},
{40, 5200000},
{42, 5210000},
{44, 5220000},
{46, 5230000},
{48, 5240000},
{52, 5260000},
{56, 5280000},
{60, 5300000},
{64, 5320000},
{100,5500000},
{104,5520000},
{108,5540000},
{112,5560000},
{116,5580000},
{120,5600000},
{124,5620000},
{128,5640000},
{132,5660000},
{136,5680000},
{140,5700000},
{149,5745000},
{153,5765000},
{157,5785000},
{161,5805000}
};
TI_UINT8 Freq2Chan (TI_UINT32 freq)
{
TI_UINT32 i;
for (i = 0; i < CHAN_FREQ_TABLE_SIZE; i++)
{
if (ChanFreq[ i ].freq == freq)
{
return ChanFreq[ i ].chan;
}
}
return 0;
}
TI_UINT32 Chan2Freq (TI_UINT8 chan)
{
TI_UINT32 i;
for (i = 0; i < CHAN_FREQ_TABLE_SIZE; i++)
{
if (ChanFreq[ i ].chan == chan)
{
return ChanFreq[ i ].freq;
}
}
return 0;
}