⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profile.c

📁 TDK 6521 SOC 芯片 DEMO程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************
 * This code and information is provided "as is" without warranty of any   *
 * kind, either expressed or implied, including but not limited to the     *
 * implied warranties of merchantability and/or fitness for a particular   *
 * purpose.                                                                *
 *                                                                         *
 * Copyright (C) 2005 Teridian Semiconductor Corp. All Rights Reserved.    *
 ***************************************************************************/
//**************************************************************************
//  DESCRIPTION: 71M652x POWER METER - Profile. 
// 
//  AUTHOR:  MTF
//
//  HISTORY: See end of file
//**************************************************************************
// File:  PROFILE.C
//               
#include "options.h"
#if PROFILE && CLI && (SERIAL0_CLI || SERIAL1_CLI)
#include "calibration.h"
#include "ce.h"
#include "cli.h"
#include "mmath.h"
#include "defaults.h"
#include "flag0.h"
#include "flag1.h"
#include "io.h"
#include "meter.h"
#include "pcnt.h"
#include "priority.h"
#include "rtc.h"
#include "sercli.h"
#include "ser0cli.h"
#include "ser1cli.h"
#include "stm.h"

/*** Some external functions declared within this module ***/
void send_rtc (void);

/*** Private functions declared within this module ***/
static void Element_Profile (void);
static void Rms_Profile (void);
static void Total_Profile (void);

/*** Private variables declared within this module ***/
static int8r_t * code rate[] = { "300", "600", "1200", "2400", "4800", "9600", "19200", "38400" };

//-------------------------------------------------------------------//
void cmd_profile (void)
{
    int8_t i;
    bool any;

    send_crlf ();
    send_rtc ();
    start_tx_rslt ("2000: ");
    start_tx_rslt ("EQU:");
    send_digit ((CE0 & EQU) >> 5);
    start_tx_rslt ("          ");
    start_tx_rslt ("CE_EN:");
    send_digit ((CE0 & CE_EN) >> 4);
    #if TRACE10
    start_tx_rslt ("        ");
    start_tx_rslt ("TMUX:");
    send_hex (CE0 & TMUX);
    #endif
    send_crlf ();

    start_tx_rslt ("2001: ");
    start_tx_rslt ("PRE_SAMPS:");
    send_digit ((CE1 & PRE_SAMPS) >> 6);
    start_tx_rslt ("    ");
    start_tx_rslt ("SUM_CYCLES:");
    send_hex (CE1 & SUM_CYCLES);
    send_crlf ();

    start_tx_rslt ("2002: ");
    start_tx_rslt ("MUX_DIV:");
    send_digit ((CE2 & MUX_DIV) >> 6);
    start_tx_rslt ("      ");
    start_tx_rslt ("CHOP:");
    send_digit ((CE2 & CHOP_EN) >> 4);
    start_tx_rslt ("         ");
    start_tx_rslt ("RTM:");
    send_digit ((CE2 & RTM_EN) >> 3);
    start_tx_rslt ("          ");
    start_tx_rslt ("RTC_INT:");
    send_digit ((CE2 & EX_RTC) >> 1);
    start_tx_rslt ("      ");
    start_tx_rslt ("XFER_INT:");
    send_digit (CE2 & EX_XFER);
    send_crlf ();

    start_tx_rslt ("2003: ");
    #if TRACE10
    start_tx_rslt ("COMP_INT:");
    send_digit ((COMP0 & COMP_INT) >> 3);
    start_tx_rslt ("     ");
    #endif
    start_tx_rslt ("COMP_STAT:");
    send_digit (COMP0 & COMP_STAT);
    send_crlf ();

    start_tx_rslt ("2004: ");
    start_tx_rslt ("VREF_CAL:");
    send_digit ((CONFIG0 & VREF_CAL) >> 7);
    start_tx_rslt ("     ");
    #if M6520
    start_tx_rslt ("PLS_INV:");
    send_digit ((CONFIG0 & PLS_INV) >> 6);
    start_tx_rslt ("     ");
    #endif
    #if TRACE10
    start_tx_rslt ("CK_EN:");
    send_digit ((CONFIG0 & CK_EN) >> 5);
    start_tx_rslt ("        ");
    start_tx_rslt ("CKOUT_DIS:");
    send_digit ((CONFIG0 & CKOUT_DIS) >> 4);
    #elif M6520
    start_tx_rslt ("CKOUT_EN:");
    send_digit ((CONFIG0 & CKOUT_EN) >> 4);
    #endif
    start_tx_rslt ("    ");
    start_tx_rslt ("VREF_DIS:");
    send_digit ((CONFIG0 & VREF_DIS) >> 3);
    start_tx_rslt ("     ");
    start_tx_rslt ("MPU_DIV:");
    send_digit (CONFIG0 & MPU_DIV);
    send_crlf ();

    start_tx_rslt ("2005: ");
    start_tx_rslt ("VDDREFZ:");
    send_digit ((CONFIG1 & VDDREFZ) >> 7);
    start_tx_rslt ("      ");
    #if M6520
    start_tx_rslt ("VB_REF:");
    send_digit ((CONFIG1 & VB_REF) >> 6);
    start_tx_rslt ("      ");
    #endif
    start_tx_rslt ("ECK_DIS:");
    send_digit ((CONFIG1 & ECK_DIS) >> 5);
    start_tx_rslt ("      ");
    start_tx_rslt ("FIR_LEN:");
    send_digit ((CONFIG1 & FIR_LEN) >> 4);
    start_tx_rslt ("      ");
    #if TRACE10
    start_tx_rslt ("ADC_DIS:");
    send_digit ((CONFIG1 & ADC_DIS) >> 3);
    #elif M6520
    start_tx_rslt ("ADC_ENB:");
    send_digit ((CONFIG1 & ADC_EN) >> 3);
    #endif
    start_tx_rslt ("      ");
    start_tx_rslt ("MUX_ALT:");
    send_digit ((CONFIG1 & MUX_ALT) >> 2);
    start_tx_rslt ("\r\n      FLSH66ZT:");
    send_digit ((CONFIG1 & FLSH66ZT) >> 1);
    send_crlf ();

    start_tx_rslt ("2006: ");
    start_tx_rslt ("VERSION:");
    send_digit (VERSION);
    start_tx_rslt ("    ");

    #if M6520 || M6530
    start_tx_rslt ("2007: ");
    start_tx_rslt ("OPT_TXE:");
    send_digit ((CONFIG2 & OPT_TXE) >> 6);
    start_tx_rslt ("      ");
    start_tx_rslt ("EX_PLL:");
    send_digit ((CONFIG2 & EX_PLL) >> 5);
    start_tx_rslt ("      ");
    start_tx_rslt ("EX_FWCOL:");
    send_digit ((CONFIG2 & EX_FWCOL) >> 4);
    start_tx_rslt ("      ");
    start_tx_rslt ("OPT_FDC:");
    send_digit (CONFIG1 & OPT_FDC);
    send_crlf ();

    start_tx_rslt ("20A8: ");
    start_tx_rslt ("CE3:");
    send_digit (CE3);
    send_crlf ();

    start_tx_rslt ("20A9: ");
    start_tx_rslt ("WAKE_ARM:");
    send_digit ((WAKE & WAKE_ARM) >> 7);
    start_tx_rslt ("      ");
    start_tx_rslt ("SLEEP:");
    send_digit ((WAKE & SLEEP) >> 6);
    start_tx_rslt ("      ");
    start_tx_rslt ("LCD_ONLY:");
    send_digit ((WAKE & LCD_ONLY) >> 5);
    start_tx_rslt ("      ");
    start_tx_rslt ("WAKE_RES:");
    send_digit ((WAKE & WAKE_RES) >> 3);
    start_tx_rslt ("      ");
    start_tx_rslt ("WAKE_PRD:");
    send_digit (WAKE & WAKE_PRD);
    send_crlf ();

    start_tx_rslt ("20AA: ");
    start_tx_rslt ("TMUX:");
    send_digit (TMUX);
    send_crlf ();
    #endif

    start_tx_rslt ("Taking temperature measurements\r\n\n");

    start_tx_rslt ("2008: ");
    start_tx_rslt ("DIO_EEX:");
    send_digit ((DIO & DIO_EEX) >> 6);
    start_tx_rslt ("      ");
    #if M6520
    start_tx_rslt ("OPT_RXDIS:");
    send_digit ((DIO & OPT_RXDIS) >> 5);
    start_tx_rslt ("    ");
    start_tx_rslt ("OPT_RXINV");
    send_digit ((DIO & OPT_RXINV) >> 4);
    start_tx_rslt ("       ");
    #endif
    start_tx_rslt ("DIO_PW:");
    send_digit ((DIO & DIO_PW) >> 3);
    start_tx_rslt ("       ");
    start_tx_rslt ("DIO_PV");
    send_digit ((DIO & DIO_PV) >> 2);
    start_tx_rslt ("       ");
    #if M6520
    start_tx_rslt ("OPT_TXMOD");
    send_digit ((DIO & OPT_TXMOD) >> 1);
    start_tx_rslt ("       ");
    start_tx_rslt ("OPT_TXINV");
    send_digit (DIO & OPT_TXINV);
    #endif
    send_crlf ();

    start_tx_rslt ("2020: ");
    #if TRACE10
    start_tx_rslt ("LCD_BSTEN:");
    send_digit ((LCDX & LCD_BSTEN) >> 7);
    start_tx_rslt ("    ");
    #endif
    #if TRACE10 || M6520
    start_tx_rslt ("LCD_NUM:");
    send_hex (LCDX & LCD_NUM);
    #endif
    #if M6530
    send_hex (LCDX);
    #endif
    send_crlf ();

    start_tx_rslt ("2021: ");
    start_tx_rslt ("LCD_EN:");
    send_digit ((LCDY & LCD_EN) >> 5);
    start_tx_rslt ("       ");
    start_tx_rslt ("LCD_MODE:");
    send_hex ((LCDY & LCD_MODE) >> 2);
    start_tx_rslt ("    ");
    start_tx_rslt ("LCD_CLK:");
    send_digit (LCDY & LCD_CLK);
    send_crlf ();

    #if TRACE10
    start_tx_rslt ("2022: ");
    start_tx_rslt ("LCD_FS:");
    send_hex (LCDZ & LCD_FS);
    send_crlf ();
    #endif
    #if M6530
    start_tx_rslt ("2022-28: ");
    start_tx_rslt ("LCD_MAP:");
    send_byte_hex (LCD_MAP[ 0 ]);
    send_byte_hex (LCD_MAP[ 1 ]);
    send_byte_hex (LCD_MAP[ 2 ]);
    send_byte_hex (LCD_MAP[ 3 ]);
    send_byte_hex (LCD_MAP[ 4 ]);
    send_byte_hex (LCD_MAP[ 5 ]);
    send_byte_hex (LCD_MAP[ 6 ]);
    send_byte_hex (LCD_MAP[ 7 ]);
    send_crlf ();
    #endif

    start_tx_rslt ("2060: ");
    start_tx_rslt ("RTM Probes:");
    send_byte_hex (RTM[ 0 ]);
    send_byte_hex (RTM[ 1 ]);
    send_byte_hex (RTM[ 2 ]);
    send_hex (RTM[ 3 ]);
    send_crlf ();
   
    start_tx_rslt ("22 DIO Pins are configured as:\r\n");
    start_tx_rslt ("Polarity:Values  21...0 \r\n");
    send_byte_hex (DIR2 & 0x3F);
    send_byte_hex (DIR1);
    send_hex      (DIR0);
    start_tx_rslt (":");
    send_byte_hex (USER2 & 0x3F);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -