亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? varh.c

?? TDK 6521 SOC 芯片 DEMO程序
?? C
字號:
/***************************************************************************
 * 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 - Accumulation Routines.
// 
//  AUTHOR:  RGV
//
//  HISTORY: See end of file.
//**************************************************************************
// File: VARH.C
//               
#include "options.h"
#if VAR_ELEMENT
#include <math.h>
#include "mmath.h"
#include "lcd.h"
#include "meter.h"
#include "library.h"
#include "wh.h"    // get wh_sum_*() routines
#include "varh.h"  // test the fn prototypes
                                                                              
/*** Private functions declared within this module ***/
// None

static void varh_mission_to_lcd (uint32_t l)
{
    LCD_Number (l, 6, 3);   // Display up to six digits (x % 1,000,000).
    LCD_3DP ();             // Three (3) Decimal Points.
    LCD_kVArH ();
}

void varh_lcd (uint8x_t *val)
{
    varh_mission_to_lcd (wh_to_long (val));
} 

#if DEMAND
static void var_mission_to_lcd (uint32_t l)
{
    LCD_Number (l, 6, 3);   // Display up to six digits (x % 1,000,000).
    LCD_3DP ();             // Three (3) Decimal Points.
    LCD_kVAr ();
}

void var_lcd (uint32_t val)
{
   var_mission_to_lcd (w_to_long (val));            

}
#endif // DEMAND.

#ifdef EQUATION

#define PHASE_B_CALCULATED (PHASE_B_PRESENT || EQUATION == _1ELEMENT_3WIRE)

#define PHASE_C_CALCULATED (EQUATION == _2ELEMENT_4WIRE_DELTA || EQUATION == _3ELEMENT_4WIRE_WYE)

void VARh_Accumulate (void)
{
    // If either net metering or calibration is present
    // Signed VARhs are used in the autocalibration
    #if NET_METER || AUTOCAL
    #if PHASE_A_PRESENT
    wh_sum_net (VARh_A, &var0sum);         // VAR hours phase A. 
    #endif // element A
    #if PHASE_B_CALCULATED
    wh_sum_net (VARh_B, &var1sum);         // VAR hours phase B. 
    #endif // element B
    #if PHASE_C_CALCULATED
    wh_sum_net (VARh_C, &var2sum);         // VAR hours phase C. 
    #endif // element C
    memcpy_xx (VARh, VARh_A, sizeof (VARh));// Clear total VARhs. 
    #if PHASE_B_PRESENT
    add8_8 (VARh, VARh_B);                  // Sum up VARhs.
    #endif // element B
    #if PHASE_C_CALCULATED
    add8_8 (VARh, VARh_C);                  // Sum up VARhs.
    #endif // net metering and var sums
    #endif // var sums

    // absolute value metering is not used for vars...
 
    #if IMPORT
    #if PHASE_A_PRESENT
    wh_sum_import (VARhi_A, &var0sum);     // VAR hours phase A. 
    #endif // element A
    #if PHASE_B_CALCULATED
    wh_sum_import (VARhi_B, &var1sum);     // VAR hours phase B. 
    #endif // element B
    #if PHASE_C_CALCULATED
    wh_sum_import (VARhi_C, &var2sum);     // VAR hours phase C. 
    #endif // element C
    #if !VAR_SUMS
    if (i0sqsum > i1sqsum)
    {
        wh_sum_import (VARhi, &var0sum);   // Watt hours phase A. 
    }
    else
    {
        wh_sum_import (VARhi, &var1sum);     // Watt hours phase B. 
    }
    #else
    memcpy_xx (VARhi, VARhi_A, sizeof (VARhi_A));  // Clear total VAR imports.
    #if PHASE_B_PRESENT
    add8_8 (VARhi, VARhi_B);                // Sum up VAR imports.
    #endif // element B
    #if PHASE_C_CALCULATED
    add8_8 (VARhi, VARhi_C);                // Sum up VAR imports. 
    #endif // element C
    #endif // VAR_SUMS
    #endif // IMPORT

    #if EXPORT
    #if PHASE_A_PRESENT
    wh_sum_export (VARhe_A, &var0sum);     // VAR hours phase A. 
    #endif // element A
    #if PHASE_B_CALCULATED
    wh_sum_export (VARhe_B, &var1sum);     // VAR hours phase B. 
    #endif // element B
    #if PHASE_C_CALCULATED
    wh_sum_export (VARhe_C, &var2sum);     // VAR hours phase C. 
    #endif // element C

    #if !VAR_SUMS
    if (i0sqsum > i1sqsum)
    {
        wh_sum_export (VARhe, &var0sum);   // Watt hours phase A. 
    }
    else
    {
        wh_sum_export (VARhe, &var1sum);     // Watt hours phase B. 
    }
    #else // var sums
    memcpy_xx (VARhe, VARhe_A, sizeof (VARhe_A)); // Clear out VAR exports.
    #if PHASE_B_PRESENT
    add8_8 (VARhe, VARhe_B);                // Sum up VAR exports.
    #endif // element B
    #if PHASE_C_CALCULATED
    add8_8 (VARhe, VARhe_C); 
    #endif // element C
    #endif // VAR_SUMS
    #endif // EXPORT
}
#endif // equation

/***************************************************************************
 * History
 * $Log: varh.c,v $
 * Revision 1.16  2006/10/11 20:46:48  tvander
 * Fixed phase B accumulation and measurement for equation 1.
 * Phase B is not part of the equation, but is very useful for calibration.
 *
 * Revision 1.15  2006/10/03 00:33:58  tvander
 * Turned off WATT_SUMS and VAR_SUMS, so that maximum of elements is calculated instead of sums.  Assured that Wh exports and VARh imports and exports both have a "maximum of A and B" behavior when WATT_SUMS and VAR_SUMS are turned off.
 *
 * Revision 1.14  2006/09/14 00:41:09  tvander
 * Spaces for tabs (pretty printing)
 *
 * Revision 1.13  2006/09/13 21:39:07  gmikef
 * *** empty log message ***
 *
 * Revision 1.12  2006/09/12 02:45:19  gmikef
 * *** empty log message ***
 *
 * Revision 1.11  2006/09/10 00:28:39  Michael T. Fischer
 * First version to support DGM0915 LCD.
 *
 * Revision 1.10  2006/09/09 01:15:00  gmikef
 * *** empty log message ***
 *
 * Revision 1.9  2006/09/08 07:37:49  Michael T. Fischer
 * *** empty log message ***
 *
 * Revision 1.8  2006/06/06 05:15:20  tvander
 * clean build
 *
 * Revision 1.7  2006/05/18 23:18:54  tvander
 * 16K and 32K
 * First cut at new requirements.
 * 32K 6521 is grossly tested.
 * All others have a clean compile with C51 8.02
 *
 * Revision 1.6  2006/04/25 01:09:56  tvander
 * Integrated improved RTC.  Compensates for time off, has default constant
 * compensation.  Computes true hours of operation.
 *
 * Revision 1.5  2006/04/12 00:27:50  tvander
 * Debugged compilation with equations 3 and 4, on 6513
 *
 * Revision 1.4  2006/03/06 03:41:20  Michael T. Fischer
 * More 6530 prep.
 *
 * Revision 1.3  2006/01/04 04:47:54  gmikef
 * Switched RMS and VA calculations to use floating point. (and Calibration).
 *
 * Revision 1.1  2005/10/08 04:41:28  tvander
 * Fixed priority inversion.
 * Rewrote watchdog to work in brownout, but of course it doesn't work.
 * Watchdog can now be defeated by clearing watchdog option to 0.
 * Reorganized watt hour modules (at last!).
 * Disabled reading of STATUS in 6521_cli because the CE's status is always SAG.
 * Tested with 6521_CLI; measurements seem to work.
 * Fixed other builds.
 *
 * Revision 1.9  2005/09/22 23:45:13  tvander
 * Clean build all models and unit tests, updated copyright to be fore Teridian
 *
 * Revision 1.8  2005/09/11 00:34:04  tvander
 * Clean compiles
 *
 * Revision 1.7  2005/08/30 18:14:00  gmikef
 * *** empty log message ***
 *
 * Revision 1.6  2005/06/18 00:58:12  tvander
 * Refactored accumulate_energy, squashed a bunch of bugs.
 *
 * Revision 1.5  2005/06/17 22:54:44  tvander
 * Separated imports and exports.
 * Some imports and exports were not being updated.
 *
 * Revision 1.4  2005/06/14 00:14:42  tvander
 * Error in accumulation- it was checking a pointer for its sign.
 *
 * Revision 1.3  2005/04/30 02:12:59  gmikef
 * *** empty log message ***
 *
 * Revision 1.6  2005/04/29 00:01:58  gmikef
 * *** empty log message ***
 *
 * Revision 1.5  2005/04/27 21:38:06  gmikef
 * *** empty log message ***
 *
 * Copyright (C) 2005 Teridian Semiconductor Corp. All Rights Reserved.    *
 * this program is fully protected by the United States copyright          *
 * laws and is the property of Teridian Semiconductor Corporation.         *
 ***************************************************************************/
#endif // VAR_ELEMENT
/* varh.c */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人天堂av网| 欧美日韩精品欧美日韩精品一综合| 亚洲免费观看高清完整版在线 | 亚洲日本乱码在线观看| 欧美成人性战久久| 在线观看亚洲专区| 不卡在线观看av| 亚洲一二三专区| 一区二区三区国产| 亚洲欧美韩国综合色| 日本一区二区三区久久久久久久久不| 91精品国产欧美一区二区| 成人激情小说乱人伦| 五月婷婷另类国产| 亚洲电影在线播放| 久久91精品国产91久久小草| 美女看a上一区| 国产精品18久久久久久久网站| 老司机免费视频一区二区 | 欧美精品亚洲一区二区在线播放| 一本色道久久综合狠狠躁的推荐| 在线免费观看日本欧美| 色综合网色综合| 色综合久久综合| 欧美一区二区在线观看| 欧美一级视频精品观看| 国产色综合久久| 国产精品国产三级国产aⅴ中文 | av一区二区三区四区| 色噜噜狠狠成人网p站| 一本久道久久综合中文字幕| 91精品国产欧美日韩| 日韩欧美高清dvd碟片| 精品精品国产高清a毛片牛牛| 欧美激情一区在线观看| 亚洲欧美一区二区三区国产精品| 国产蜜臀av在线一区二区三区| 亚洲欧美日韩在线| 亚洲成在人线免费| 91玉足脚交白嫩脚丫在线播放| 一本色道综合亚洲| 欧美日韩成人在线| 精品久久久久久综合日本欧美| 日韩一级免费一区| 国产精品美女久久久久久久久久久 | 亚洲福利一区二区三区| 偷窥少妇高潮呻吟av久久免费| 国产成人日日夜夜| 欧美在线制服丝袜| 日韩美女在线视频| 亚洲一区二区欧美| 国内精品第一页| 91麻豆精品国产91久久久久久久久| 精品少妇一区二区三区日产乱码 | 欧美亚洲国产bt| 国产亚洲一二三区| 蜜桃在线一区二区三区| 欧美又粗又大又爽| 久久精品夜色噜噜亚洲a∨| **性色生活片久久毛片| 青草av.久久免费一区| 日本韩国欧美在线| 26uuu久久综合| 免费的成人av| 精品视频123区在线观看| 久久久久97国产精华液好用吗| 免费在线视频一区| a4yy欧美一区二区三区| 91精品国产入口| 亚洲一区二区三区激情| 久久精品国产久精国产| 欧美午夜精品理论片a级按摩| 一色桃子久久精品亚洲| 国产精品一级在线| 久久精品视频一区二区三区| 奇米精品一区二区三区在线观看| 成人av在线资源网站| 国产精品麻豆网站| 国产精品一区二区三区网站| 久久精品水蜜桃av综合天堂| 精品一区二区三区日韩| 国产亚洲va综合人人澡精品 | 成人永久免费视频| 中文字幕欧美区| 麻豆成人91精品二区三区| 一本色道亚洲精品aⅴ| 亚洲图片有声小说| 欧美在线不卡一区| 日韩精品免费专区| 4438亚洲最大| 亚洲一区中文在线| 欧美视频中文字幕| 亚洲国产综合人成综合网站| 欧美一区二区三区系列电影| 亚洲chinese男男1069| 精品国产乱码久久久久久久| 日韩国产欧美在线播放| 91.成人天堂一区| 麻豆精品视频在线| 日韩视频永久免费| 国产成人三级在线观看| 国产精品视频你懂的| 欧美亚洲国产一区在线观看网站| 亚洲精品国产一区二区精华液| 懂色av中文字幕一区二区三区| 亚洲精品综合在线| 欧美色成人综合| 国产一区二区三区久久悠悠色av | 国产suv精品一区二区三区| 久久综合网色—综合色88| 日本aⅴ精品一区二区三区| 精品少妇一区二区三区 | 亚洲欧美国产三级| 一本大道综合伊人精品热热| 免费成人在线播放| 国产亚洲精品aa午夜观看| 99精品在线免费| 久久99精品久久久| 一区二区中文视频| 欧美大片日本大片免费观看| 成人午夜免费av| 久久疯狂做爰流白浆xx| 国产精品久久久久桃色tv| 色综合久久久久综合体 | 欧美中文字幕一区| 国产精品18久久久| 夜夜嗨av一区二区三区| 日本一区二区三级电影在线观看 | 日韩写真欧美这视频| 福利视频网站一区二区三区| 亚洲摸摸操操av| 日韩欧美二区三区| 99久久精品国产毛片| 亚洲黄色性网站| 久久久久久久免费视频了| 欧美日韩高清影院| av一区二区三区| 亚洲成人精品一区| 亚洲免费在线播放| 亚洲精品一区二区三区福利| 欧美一级欧美三级在线观看| 91在线视频观看| 99久久精品国产毛片| 国产一区二区精品久久99 | 欧美性生活久久| 国产一区二区三区久久悠悠色av| 日韩经典一区二区| 一区二区三区日韩精品视频| 亚洲欧美另类综合偷拍| 久久精品亚洲国产奇米99| 久久综合资源网| 欧美大胆人体bbbb| 日韩精品中午字幕| 欧美一区二区三区喷汁尤物| 国产精品中文有码| 成人一区二区三区视频在线观看 | 性久久久久久久久| 亚洲超丰满肉感bbw| 亚洲人妖av一区二区| 一区二区三区在线视频观看| 中文字幕日韩一区| 亚洲日本电影在线| 亚洲美女区一区| 日韩高清电影一区| 国产专区综合网| 暴力调教一区二区三区| 成人a区在线观看| 在线观看精品一区| 欧美日韩精品三区| 国内精品第一页| 不卡av在线免费观看| av在线播放成人| 91精品国产日韩91久久久久久| 欧美一区二区三区免费| 国产校园另类小说区| 中文字幕一区在线观看视频| 一区二区高清视频在线观看| 亚洲精品高清视频在线观看| 五月婷婷欧美视频| 精品午夜久久福利影院| 丁香婷婷综合色啪| 色婷婷综合久久久久中文一区二区| 蜜桃久久久久久| 不卡一区中文字幕| 欧美性欧美巨大黑白大战| 精品国产一区二区三区av性色| 91丨porny丨蝌蚪视频| 91精品久久久久久久99蜜桃| 欧美精品久久久久久久多人混战| 日韩欧美一区二区免费| 欧美成人r级一区二区三区| 日本一区二区三区高清不卡| 国产精品久久久久久久第一福利| 亚洲成人在线免费| 极品少妇xxxx精品少妇| 欧洲中文字幕精品| 精品国产99国产精品| 亚洲欧洲av在线| 麻豆成人久久精品二区三区红 | 欧美午夜精品久久久久久孕妇|