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

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

?? meter.h

?? TDK 6521 SOC 芯片 DEMO程序
?? H
?? 第 1 頁 / 共 2 頁
字號:
#define VARhi_C       Totals.Sums.T_VARhi_C.a

#define VAh           Totals.Sums.T_VAh.a
#define VAh_A         Totals.Sums.T_VAh_A.a
#define VAh_B         Totals.Sums.T_VAh_B.a
#define VAh_C         Totals.Sums.T_VAh_C.a

// Exports
#define Whe           Totals.Sums.T_Whe.a
#define Whe_A         Totals.Sums.T_Whe_A.a
#define Whe_B         Totals.Sums.T_Whe_B.a
#define Whe_C         Totals.Sums.T_Whe_C.a

#define VARhe         Totals.Sums.T_VARhe.a
#define VARhe_A       Totals.Sums.T_VARhe_A.a
#define VARhe_B       Totals.Sums.T_VARhe_B.a
#define VARhe_C       Totals.Sums.T_VARhe_C.a

// These are used for phased calibration and net metering
#define Whn           Totals.Sums.T_Whn.a
#define Whn_A         Totals.Sums.T_Whn_A.a
#define Whn_B         Totals.Sums.T_Whn_B.a
#define Whn_C         Totals.Sums.T_Whn_C.a
#define VARh          Totals.Sums.T_VARh.a
#define VARh_A        Totals.Sums.T_VARh_A.a
#define VARh_B        Totals.Sums.T_VARh_B.a
#define VARh_C        Totals.Sums.T_VARh_C.a

// This ought to be cleared when )1=2
#define MainEdgeCount Totals.Sums.T_MainEdgeCount
#define main_edge_cnt_nom  Totals.T_main_edge_cnt_nom

// for counting pulses
#define pulse_count_w Totals.Sums.T_pulse_count_w.a
#define pulse_count_r Totals.Sums.T_pulse_count_r.a
#define pulse_count_3 Totals.Sums.T_pulse_count_3.a
#define pulse_count_4 Totals.Sums.T_pulse_count_4.a

// Nonvolatile fields needed for timekeeping
#define OperatingSeconds Totals.Acc.T_OperatingSeconds
#define Rtc_Time_Date Totals.Acc.T_Rtc_Time_Date
#define RTC_COPY      Totals.Acc.T_Rtc_Time_Date
#define trim_value    Totals.Acc.T_trim_value
#define trim_count    Totals.Acc.T_trim_count
#define second_count  Totals.Acc.T_second_count
#define Rtc_Sec       Totals.Acc.T_Rtc_Time_Date.Sec
#define Rtc_Min       Totals.Acc.T_Rtc_Time_Date.Min
#define Rtc_Hour      Totals.Acc.T_Rtc_Time_Date.Hour
#define Rtc_Day       Totals.Acc.T_Rtc_Time_Date.Day
#define Rtc_Date      Totals.Acc.T_Rtc_Time_Date.Date
#define Rtc_Month     Totals.Acc.T_Rtc_Time_Date.Month
#define Rtc_Year      Totals.Acc.T_Rtc_Time_Date.Year
#define brownout_cache Totals.Acc.T_brownout_cache
#define brownout_cache_mode Totals.Acc.T_brownout_cache_mode
#define brownout_cache_valid Totals.Acc.T_brownout_cache_valid
#define brownout_cache_offset ((uint8x_t*)&brownout_cache - (uint8x_t*)&Wh)
#define brownout_cache_len 6 // cache, valid, and mode
#define CalibrationCount Totals.Acc.T_CalibrationCount

// route calculations into the revenue registers
#if ABS_VALUE
// Use absolute value sum as revenue registers (more tamper resistant)
#define Wha           Totals.Acc.T_Whr.a
#define Wha_A         Totals.Acc.T_Whr_A.a
#define Wha_B         Totals.Acc.T_Whr_B.a
#define Wha_C         Totals.Acc.T_Whr_C.a
//#elif ???
// Use your choice as revenue registers here...
#elif VA_ELEMENT  // selectable from options.h
// Use volt-amps as revenue registers (probably the best technical choice)
#undef VAh
#undef VAh_A
#undef VAh_B
#undef VAh_C
#define VAh           Totals.Acc.T_Whr.a
#define VAh_A         Totals.Acc.T_Whr_A.a
#define VAh_B         Totals.Acc.T_Whr_B.a
#define VAh_C         Totals.Acc.T_Whr_C.a
#else  // if neither abs-value or va_element
// Use watt-hour imports as revenue registers (a common choice)
#undef Whi
#undef Whi_A
#undef Whi_B
#undef Whi_C
#define Whi           Totals.Acc.T_Whr.a
#define Whi_A         Totals.Acc.T_Whr_A.a
#define Whi_B         Totals.Acc.T_Whr_B.a
#define Whi_C         Totals.Acc.T_Whr_C.a
#endif

// generic names for the default revenue registers
#define Wh           Totals.Acc.T_Whr.a
#define Wh_A         Totals.Acc.T_Whr_A.a
#define Wh_B         Totals.Acc.T_Whr_B.a
#define Wh_C         Totals.Acc.T_Whr_C.a


// Used to select the LCD display in meter totals, also the M command in CLI
#define M_NONE        0
#define M_TEMP        1  // enable TEMPERATURE
#define M_FREQ        2  // enable FREQUENCY
#define M_WH          3  // enable WH_ELEMENT (however it's calculated...)
#define M_WHE         4  // enable WH_ELEMENT, and EXPORT
#define M_VARH        5  // enable VARH_ELEMENT
#define M_VARHE       6  // enable VARH_ELEMENT, and EXPORT
#define M_VAH         7  // enable VAH_ELEMENT
#define M_HOURS       8  // enable OPERATING_TIME
#define M_TIME        9  // enable REAL_TIME_DATE
#define M_DATE       10  // "
// M_PF and M_VI_ANGLE have the same number because
// usually one wants power factor or V/I angle, but not both)
#define M_PF         11  // enable POWER_FACTOR
#define M_VI_ANGLE   11  // enable PHASE_ANGLES
#if POWER_FACTOR && PHASE_ANGLES
#error Power factor and V/I phase angles are both enabled and
#error use the same mode number
#endif
#define M_VPHASE     12  // enable VOLTAGE_PHASES
#define M_EDGE_CNT   13  // counts of edges  enable MAIN_EDGE_COUNT
#define M_PULSE      14  // counts of pulses enable PULSE_CNT
#define M_IRMS       15  // measure current  enable RMS_VALUES
#define M_VRMS       16  // measure voltage.  "
#define M_BATTEST    17  // enable BATTERY_TEST
#define M_WATT       18  // enable WATTs.
#define M_VAR        19  // enable VARs.
#define M_VA         20  // enable VAs.
#define M_NULL      255

#if PHASE_C_PRESENT
#define MAX_RMS             3
#define MAX_PHASE           4
#elif PHASE_B_PRESENT
#define MAX_RMS             2
#define MAX_PHASE           3
#elif PHASE_A_PRESENT
#define MAX_RMS             1
#define MAX_PHASE           1
#endif

#define MAX_OUTPUT          9
#define MAX_TOTAL          18
#define MAX_SCROLL         (MAX_TOTAL)
#define MAX_PULSE           4
#define MAX_INTERVAL        1800 // 30 minutes
#define MAX_EDGE_TYPE       2


//============================================================================//
#if CLI
void cmd_meter (void);
#endif
void temperature_lcd (void);
void meter_initialize (void);
void meter_run (void);
void meter_lcd (void);            // Meter redisplay last selection.
#if AUTOSLEEP
void meter_brownout_lcd (void);
#endif
void meter_totals (uint8_t select, uint8_t phase);
void scroll_meter (void);

#if FLAG
void Update_register (void);      // copy flag data to registers
#endif

//----------------------------------------------------------------------------//
extern const uint8_t code alcdNext[];
extern bool beat;
extern bool ce_totals_ready;   // Enables update only if changed.
// volt-amps, scaled like w0sum
extern int32_t pdata vasum, va0sum, va1sum, va2sum;

#if FLAG
extern bool register_available;
extern bool register_locked;
extern bool register_write;

extern struct Totals_t xdata Registers;
extern struct Totals_t xdata Totals;

#else // No flag protocol.
extern struct Totals_t xdata Totals;
#endif

// indicates that power supply was powered
extern volatile bool meter_had_power;

/***************************************************************************
 * History:
 * $Log: meter.h,v $
 * Revision 1.47  2006/03/10 00:06:26  tvander
 * Remove unused pulse-counting variables.
 *
 * Revision 1.46  2006/10/06 01:42:28  tvander
 * The calibration count is moved into the nonvolatile accumulators.
 * A dummy was left so that the addresses in between are unchanged.
 *
 * Revision 1.45  2006/10/03 00:35:38  tvander
 * Moved main_edge_cnt_nom earlier in the data structures, before deltaT, the start of the 32-bit indexing.  In that way, it does not offset the indexing by one byte, a clear error.
 *
 * Revision 1.44  2006/09/27 01:35:56  tvander
 * Removed CFG_BATTERY from the software configuration
 *
 * Revision 1.43  2006/09/14 00:39:25  tvander
 * defines vasum
 *
 * Revision 1.42  2006/09/12 02:45:02  gmikef
 * *** empty log message ***
 *
 * Revision 1.41  2006/09/09 02:29:40  gmikef
 * *** empty log message ***
 *
 * Revision 1.40  2006/09/09 01:43:36  gmikef
 * Split out scrolling function.
 *
 * Revision 1.37  2006/07/27 00:58:01  tvander
 * Fixed code to lock RTC to line frequency.  Added a single byte to the shared
 * data structure.
 *
 * Revision 1.36  2006/07/25 00:30:02  tvander
 * Main edge count needs to be signed.
 *
 * Revision 1.35  2006/07/07 22:18:44  tvander
 * Saves brownout cache data.
 *
 * Revision 1.34  2006/07/07 01:05:45  tvander
 * Added a battery-present configuration bit to r_Parms.T_Config
 *
 * Revision 1.33  2006/06/09 22:40:55  tvander
 * Redesigned creep to operate on voltages as well as current, and to account
 * correctly for the equations.
 *
 * Revision 1.32  2006/06/08 20:59:18  tvander
 * Added sum variables for Wh and VARh net-metering
 *
 * Revision 1.31  2006/06/06 05:15:20  tvander
 * clean build
 *
 * Revision 1.30  2006/05/25 03:31:45  tvander
 * Renamed variables so nonvolatile variables can be switched to other definitions
 * of watt-hours (e.g. from absolute value to volt-amps or imports)
 * (meter.c, meter.h, pulse_src.c)
 * FIxed power factors so they zero correctly.
 * Fixed RMS to work with different accumulation interval.
 *
 * Revision 1.29  2006/05/18 23:18:52  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.28  2006/04/27 00:06:57  tvander
 * Added tamper resistance, mostly to wh.c; Added a calibration signal to rtc.c
 *
 * Revision 1.27  2006/04/25 01:09:55  tvander
 * Integrated improved RTC.  Compensates for time off, has default constant
 * compensation.  Computes true hours of operation.
 *
 * Revision 1.26  2006/04/19 01:16:41  tvander
 * Now defines where rtc.c puts its data.
 *
 * Revision 1.25  2006/04/12 00:27:49  tvander
 * Debugged compilation with equations 3 and 4, on 6513
 *
 * Revision 1.24  2006/03/31 23:40:09  tvander
 * IMAX2 modification
 *
 * Revision 1.23  2006/03/17 00:41:17  tvander
 * Reformatted Parameters_t to fit in IMAX2 stuff
 *
 * Revision 1.22  2006/03/06 03:39:43  Michael T. Fischer
 * More 6530 prep.
 *
 * Revision 1.21  2006/02/10 00:49:46  tvander
 * Added )1=2, count of accumulation intervals, reduced RAM usage by
 * making optional phase c, net metering, and pulse counts.
 * rearranged RAM so these things change in some reasonable way when accessed
 * by ).
 *
 * Revision 1.20  2006/02/08 03:43:27  tvander
 * Made "import" the default power measurement mode, rather than net-metering
 *
 * Revision 1.19  2006/01/25 01:05:14  tvander
 * Floating point temperature calibration
 *
 * Revision 1.18  2006/01/10 04:07:34  gmikef
 * Added PDATA support for CE Outputs.
 *
 * Revision 1.17  2006/01/04 04:47:52  gmikef
 * Switched RMS and VA calculations to use floating point. (and Calibration).
 *
 * Revision 1.16  2005/12/23 01:27:46  tvander
 * Meter.c would not compile for 6513 because a table was wrong.
 * A few style issues.
 *
 * Revision 1.14  2005/12/21 01:35:28  tvander
 * 6513
 *
 * Revision 1.13  2005/11/09 02:21:17  tvander
 * Added code to display watt hours from brownout mode.
 * Added code to clear EEPROM (lapie command "EEE")
 *
 * Revision 1.12  2005/11/05 01:58:15  tvander
 * Added bits to status register
 *
 * Revision 1.11  2005/10/08 04:41:25  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.10  2005/10/06 20:49:54  tvander
 * Made the parsing a little more accurate.
 *
 * Revision 1.9  2005/09/27 01:27:05  tvander
 * V/I phase works
 *
 * Revision 1.8  2005/09/22 23:45:17  tvander
 * Clean build all models and unit tests, updated copyright to be fore Teridian
 *
 * Revision 1.7  2005/09/13 19:26:55  tvander
 * Release 6521 CLI version for early customers.
 * RMS works.
 * Accumulation interval to 1 second.
 * Wrate slowed to 3.2 Kh/pulse for new accumulation interval.
 * Pulse outputs inverted, so they start dark.
 * LCD density increased from 1/3 bias to 1/2 bias, for demo PCB.
 * VAh code is included, but untested.
 *
 * Revision 1.6  2005/09/12 07:47:30  tvander
 * Power measurement is stable, with no creep.
 * VARh measurement is stable, with no creep.
 * Pulse sources work.
 * Full access to MPU variables.
 * Rolled date.
 * Clock software works.
 *
 * Revision 1.5  2005/09/08 00:31:43  tvander
 * Fixed: Lost data due to overwrite of Ithrshld, xfer busy never runs,
 * unavailable second phase, cosmetic issues with status.  Updated
 * date.
 *
 * Revision 1.4  2005/09/01 02:06:45  gmikef
 * Cleaned up the builds.
 *
 * Revision 1.3  2005/08/31 05:57:43  gmikef
 * First version w/ LAPIE interface.
 *
 * Revision 1.2  2005/08/30 18:18:18  gmikef
 * *** empty log message ***
 *
 * Revision 1.1  2005/08/28 02:34:59  gmikef
 * *** empty log message ***
 *
 * 2003 NOVEMBER 21; First Version.
 *
 * 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 /* meter.h */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频你懂得一区| 免费在线看成人av| 色狠狠av一区二区三区| 又紧又大又爽精品一区二区| 欧美午夜精品一区| 日韩黄色小视频| 精品久久久久久亚洲综合网| 韩国女主播一区二区三区| 国产日产欧美一区二区视频| www.av亚洲| 亚洲妇女屁股眼交7| 91精品免费观看| 国产精品1区2区3区| 国产精品久久久久婷婷二区次| 色视频成人在线观看免| 日韩电影在线免费观看| 国产嫩草影院久久久久| 91久久人澡人人添人人爽欧美| 舔着乳尖日韩一区| 国产欧美日韩一区二区三区在线观看| 成人av网站在线观看免费| 亚洲精品视频在线观看免费| 5858s免费视频成人| 国产91丝袜在线播放| 亚洲高清不卡在线观看| 国产网站一区二区| 欧美综合亚洲图片综合区| 美日韩一区二区| 亚洲欧美日韩国产一区二区三区| 欧美日韩美女一区二区| 国产精品18久久久久久久久久久久 | 狠狠久久亚洲欧美| 日韩欧美在线不卡| 成人动漫中文字幕| 视频精品一区二区| 中文一区一区三区高中清不卡| 91久久线看在观草草青青| 国产原创一区二区三区| 亚洲v日本v欧美v久久精品| 久久久久久久久一| 欧美老人xxxx18| 成av人片一区二区| 久久草av在线| 亚洲综合小说图片| 国产欧美日韩精品一区| 日韩一区二区三区免费看| 94-欧美-setu| 国产精品影音先锋| 奇米精品一区二区三区在线观看 | 丰满白嫩尤物一区二区| 亚洲图片欧美色图| 国产日产欧美一区二区视频| 制服视频三区第一页精品| 一本久道久久综合中文字幕| 国产精品一色哟哟哟| 日本不卡在线视频| 亚洲福利一区二区| 亚洲男人的天堂在线观看| 国产三区在线成人av| 日韩精品一区二区三区在线播放| 欧美特级限制片免费在线观看| 成人黄色在线视频| 国产精品99精品久久免费| 麻豆精品在线看| 日韩在线观看一区二区| 日日噜噜夜夜狠狠视频欧美人| 亚洲另类色综合网站| 中文字幕在线一区二区三区| 国产日韩视频一区二区三区| 久久综合国产精品| 久久精品这里都是精品| 国产亚洲一区二区在线观看| 久久婷婷色综合| 久久久久久电影| 国产日本欧洲亚洲| 国产欧美日韩另类一区| 国产精品久久久久四虎| 亚洲天堂福利av| 欧美精品丝袜中出| 欧美二区在线观看| 国产乱码精品一区二区三区av| 精品一区二区三区在线播放 | 另类小说综合欧美亚洲| 伦理电影国产精品| 国产一区二区三区四区五区入口 | 91精品欧美一区二区三区综合在 | 国产综合久久久久久久久久久久| 狠狠久久亚洲欧美| 国产成人啪免费观看软件| 国产激情视频一区二区在线观看 | 色婷婷精品久久二区二区蜜臀av| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美日韩高清不卡| 日韩欧美高清一区| 久久毛片高清国产| 18成人在线观看| 亚洲成人动漫av| 久久99国产精品麻豆| 懂色av一区二区三区免费观看| www.色综合.com| 欧美日韩国产综合草草| 日韩精品影音先锋| 国产精品久久久99| 亚洲国产cao| 久久国产麻豆精品| 成人小视频免费观看| 欧美综合视频在线观看| 精品国产伦一区二区三区观看体验| 日本一区二区三区四区 | 亚洲国产精品99久久久久久久久| 亚洲精品中文在线影院| 老司机精品视频导航| caoporn国产精品| 欧美精品乱码久久久久久| 久久这里只有精品6| 亚洲久本草在线中文字幕| 久久精品久久精品| 色呦呦一区二区三区| 日韩午夜激情视频| 最新热久久免费视频| 麻豆精品在线观看| 色悠久久久久综合欧美99| 26uuu亚洲| 午夜不卡av在线| 成人av在线资源| 欧美成人福利视频| 亚洲国产精品麻豆| 成人小视频在线观看| 日韩一级高清毛片| 亚洲男同1069视频| 国产成人午夜精品影院观看视频 | 91免费观看国产| 久久综合九色综合欧美98| 亚洲成人先锋电影| 97se亚洲国产综合自在线不卡| 欧美一区国产二区| 一区二区三区精品视频| 丰满白嫩尤物一区二区| 欧美成人官网二区| 日本伊人午夜精品| 欧美伊人久久大香线蕉综合69| 国产欧美精品一区二区色综合| 免费在线观看不卡| 欧美日韩夫妻久久| 亚洲激情中文1区| av资源网一区| 国产日产欧美一区二区三区| 久久国产日韩欧美精品| 91精品在线麻豆| 亚洲丶国产丶欧美一区二区三区| av电影一区二区| 中文一区二区完整视频在线观看| 黑人巨大精品欧美一区| 日韩欧美国产一区在线观看| 天天亚洲美女在线视频| 精品婷婷伊人一区三区三| 日韩久久一区二区| 成人免费精品视频| 国产精品免费av| 成人黄色国产精品网站大全在线免费观看 | 亚洲一区二区三区不卡国产欧美| jizzjizzjizz欧美| 国产精品色一区二区三区| 福利91精品一区二区三区| 国产亚洲成aⅴ人片在线观看| 国内精品不卡在线| 久久欧美中文字幕| 国产一区二区三区日韩| 久久久久国产一区二区三区四区| 亚洲成人在线观看视频| 免费成人小视频| 日日夜夜精品视频天天综合网| www.亚洲免费av| 国产精品成人免费精品自在线观看| 国产精品77777| 国产精品国产三级国产aⅴ原创| aaa国产一区| 亚洲综合在线电影| 欧美三级乱人伦电影| 日韩电影在线观看网站| 欧美精品一区二区久久久| 国产精品夜夜爽| 中文字幕一区在线观看视频| 91免费看片在线观看| 亚洲成人动漫在线免费观看| 欧美放荡的少妇| 午夜激情久久久| 国产精品主播直播| 精品综合久久久久久8888| 色综合天天综合网国产成人综合天 | 日韩高清在线观看| 三级欧美韩日大片在线看| 亚洲美女免费在线| 久久国产综合精品| 中文字幕第一区二区| 97精品国产97久久久久久久久久久久 | 国产精品入口麻豆原神| 在线观看亚洲成人| 日本视频一区二区| 国产精品麻豆欧美日韩ww|