test program for Silicon Laboratories Inc. Si5351A-B-GT I2C-PROGRAMMABLE ANY-FREQUENCY CMOS CLOCK GENERATOR

Dependencies:   Si5351A

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers si5351a_check.h Source File

si5351a_check.h

00001 /*
00002  * mbed Application program / Si5351A sample program
00003  *  tested on:
00004  *      ST Nucleo-F411RE & F401RE
00005  *      LPC1114FN28
00006  *
00007  *  Copyright (c) 2016,'17 Kenji Arai / JH1PJL
00008  *  http://www.page.sannet.ne.jp/kenjia/index.html
00009  *  http://mbed.org/users/kenjiArai/
00010  *      Created:  December 28th, 2016
00011  *      Revised:  January   7th, 2017
00012  *
00013  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00014  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00015  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00016  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
00017  * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
00018  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
00019  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00020  */
00021 
00022 //  Definition -----------------------------------------------------------------
00023 #define BAUD(x)                 pc.baud(x)
00024 #define GETC(x)                 pc.getc(x)
00025 #define PUTC(x)                 pc.putc(x)
00026 #define PRINTF(...)             pc.printf(__VA_ARGS__)
00027 #define READABLE(x)             pc.readable(x)
00028 
00029 #define BAUD_RATE 9600
00030 
00031 #if 1
00032 #define INCREMENT               // command 1,2,3 -> INCREMENT or TABLE_LOOK
00033 #endif
00034 #if !defined(INCREMENT)
00035 #define TABLE_LOOK
00036 #endif
00037 
00038 //  Object ---------------------------------------------------------------------
00039 
00040 //  RAM ------------------------------------------------------------------------
00041 char linebuf[64];
00042 int buf_size = sizeof(linebuf);
00043 
00044 //  ROM / Constant data --------------------------------------------------------
00045 char *const opening_msg =
00046                 "Si5351 test program, created on UTC: "__DATE__"("__TIME__")";
00047 char *const msg0 =  "output: Please enter freq. ex 1230000";
00048 
00049 //  Function prototypes --------------------------------------------------------
00050 void msg_hlp(void);
00051 void test(uint8_t channel);
00052 void test_si5351(void);
00053 void special_command(void);
00054 void put_rn( void );
00055 void put_r( void );
00056 void put_lin( void );
00057 void put_spc( uint8_t n);
00058 int  xatoi(char **str, int32_t *res);
00059 void get_line(char *buff, int len);
00060 void get_line_no_param(char *buff);
00061 void delay(int32_t time);