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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? canoperrors.h

?? 開放源碼的CanOpen源碼(C)
?? H
字號:
/*******************************************************************************

    Errors.h - Header for error handling
    
    Copyright (C) 2004  Janez Paternoster, Slovenia

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


    Author: janez.paternoster@siol.net

    History:
    2004/06/25 [JP]  File Created
    2004/08/09 [JP]  Added ERROR_isr_timer_overflow and changed ERROR_REGISTER_BIT0_CONDITION

********************************************************************************
      
      Principle of error handling

      Description of error handling:
         If somewhere in program occures error, ErrorReport() function has to be
         called with error flag bit and Error code. If that error is being 
         repaired, call ErrorReset(). Functions sets(resets) appropriate bit
         in ODE_ErrorStatusBits array and (if free) writes to EmergencyErrorCode.
         Every emergency message is sent only first time, when bit is set.
         Functions are fast, so other error code executes from main():
            - if CheckErrors is set:
               - calculate error register (OD 0x1001);
            - if EmergencyToSend is set:
               - send emergency message;
               - write to history (OD 0x1003);
         
         Emergency message has 5 bytes of manufacturer specific error field.
         This field can be used for send information from ODE_ErrorStatusBits array.
         
         If Error register is non-zero, node can be set to pre-operational state.
         
         Error handling can also be used with other user program code.

****** standards ***************************************************************

   Error register 0x1001 (ds-301):
   bit      mandatory/opt      description
   -----------------------------------------------------------------------------
   0        M                  generic error
   1        O                  current
   2        O                  voltage
   3        O                  temperature
   4        O                  communication error (overrun, error state)
   5        O                  device profile specific
   6        O                  Reserved (always 0)
   7        O                  manufacturer specific
   
   
   Emergency error codes (ds-301):
   error code       description
   -----------------------------------------------------------------------------
   00xx             Error Reset or No Error
   10xx             Generic Error
   20xx             Current
   21xx             Current, device input side
   22xx             Current inside the device
   23xx             Current, device output side
   30xx             Voltage
   31xx             Mains Voltage
   32xx             Voltage inside the device
   33xx             Output Voltage
   40xx             Temperature
   41xx             Ambient Temperature
   42xx             Device Temperature
   50xx             Device Hardware
   60xx             Device Software
   61xx             Internal Software
   62xx             User Software
   63xx             Data Set
   70xx             Additional Modules
   80xx             Monitoring
   81xx             Communication
   8110             CAN Overrun (Objects lost)
   8120             CAN in Error Passive Mode
   8130             Life Guard Error or Heartbeat Error
   8140             recovered from bus off
   8150             Transmit COB-ID collision
   82xx             Protocol Error
   8210             PDO not processed due to length error
   8220             PDO length exceeded
   90xx             External Error
   F0xx             Additional Functions
   FFxx             Device specific
   
   
   Emergency error codes (ds-401):
   error code       description
   -----------------------------------------------------------------------------
   2310             Current at outputs too high (overload)
   2320             Short circuit at outputs
   2330             Load dump at outputs
   3110             Input voltage too high
   3120             Input voltage too low
   3210             Internal voltage too high
   3220             Internal voltage too low
   3310             Output voltage too high
   3320             Output voltage too low

*******************************************************************************/

#ifndef _ERRORS_H
#define _ERRORS_H

/***** Table of standard error codes (DS 301) *********************************/
//Each error code value corresponds one error bit
   #define ERROR_CODES {                                                   \
         0x0000, 0x6100, 0x6110, 0x6120, 0x6000, 0x6300, 0     , 0x8100,   \
         0x8110, 0x8140, 0x8120, 0x8120, 0x8110, 0x8110, 0x8130, 0x8100,   \
         0     , 0     , 0     , 0     , 0     , 0     , 0     , 0     ,   \
         0     , 0     , 0     , 0     , 0     , 0     , 0     , 0     ,   \
         0x8200, 0x8200, 0x8200, 0x8200, 0x8200, 0x8210, 0x0000, 0         }
         
         
/***** definitions of specific error bits *************************************/
//byte 0, important generic and communication errors for CANopen
   #define ERROR_NO_ERROR                             0x00
   #define ERROR_ErrorReport_ParametersNotSupp        0x01
   #define ERROR_isr_low_WrongInterrupt               0x02
   #define ERROR_wrong_PDO_mapping                    0x03
   #define ERROR_isr_timer_overflow                   0x04
   #define ERROR_WrongNodeIDorBitRate                 0x05

   #define ERROR_TPDO_OUTSIDE_WINDOW                  0x07
//byte 1, important communication errors
   #define ERROR_CAN_RXB_OVERFLOW                     0x08
   #define ERROR_CAN_TX_BUS_OFF                       0x09
   #define ERROR_CAN_TX_BUS_PASSIVE                   0x0A
   #define ERROR_CAN_RX_BUS_PASSIVE                   0x0B
   #define ERROR_CanSendPDO_Overflow                  0x0C
   #define ERROR_CanSendOther_Overflow                0x0D
   #define ERROR_HEARTBEAT_CONSUMER                   0x0E
   #define ERROR_SYNC_TIME_OUT                        0x0F
//byte 2 important user defined errors

//byte 3 user defined errors, not important

//byte 4, protocol errors, not important
   #define ERROR_CO_RXMSG_NMTlength                   0x20
   #define ERROR_CO_RXMSG_NMTcmd                      0x21
   #define ERROR_CO_RXMSG_HeartBeatLength             0x22
   #define ERROR_CO_RXMSG_SyncLength                  0x23
   #define ERROR_CO_RXMSG_SDOlength                   0x24
   #define ERROR_CO_RXMSG_PDOlength                   0x25
   #define ERROR_CAN_BUS_WARNING                      0x26



/***** other defines **********************************************************/
   #define ERROR_BIT_READ(error_bit)   (ODE_ErrorStatusBits[error_bit>>3] & (1<<(error_bit & 0x07)))

//calculation of Error register 0x1001:
   //generic error
   #define ERROR_REGISTER_BIT0_CONDITION (ODE_ErrorStatusBits[0] & 0x3E)
   //communication error
   #define ERROR_REGISTER_BIT4_CONDITION (ODE_ErrorStatusBits[1] || (ODE_ErrorStatusBits[0]&0x80))
   //device profile specific
   #define ERROR_REGISTER_BIT5_CONDITION (ODE_ErrorStatusBits[0] & 0x00)
   //manufacturer specific
   #define ERROR_REGISTER_BIT7_CONDITION (ODE_ErrorStatusBits[2])
   
//Defines for bytes 5...8 in emergency message
   #define ERROR_EMERGENCY_BYTE5    ODE_ErrorStatusBits[0]
   #define ERROR_EMERGENCY_BYTE6    ODE_ErrorStatusBits[1]
   #define ERROR_EMERGENCY_BYTE7    ODE_ErrorStatusBits[2]
   #define ERROR_EMERGENCY_BYTE8    ODE_ErrorStatusBits[3]

/***** Functions **************************************************************/
   //Code is optional value, send as 4-th byte in Emergency message
   //if error occures, call this function with appropriate bit
   void ErrorReport(unsigned char ErrorBit, unsigned char Code);
   //if error is solved, call this function
   void ErrorReset(unsigned char ErrorBit, unsigned char Code);

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品三级电影| 在线观看日韩电影| 国产亚洲视频系列| 国产ts人妖一区二区| 国产女人aaa级久久久级| 国产精品888| 中文字幕欧美一| 91免费国产视频网站| 亚洲成人av电影| 69久久99精品久久久久婷婷| 久久国产尿小便嘘嘘| 久久久美女艺术照精彩视频福利播放| 国产在线精品免费| 国产精品美女久久久久久久网站| 99国产精品久久久久久久久久| 亚洲精品美国一| 亚洲欧美成人一区二区三区| 亚洲国产一区视频| 麻豆精品视频在线观看| 亚洲高清不卡在线| 蜜臂av日日欢夜夜爽一区| 91麻豆产精品久久久久久| 亚洲国产视频直播| 成人黄色在线视频| 欧美色网站导航| 国产精品免费视频网站| 麻豆精品一区二区av白丝在线| 日本欧美一区二区| 国产精品一区三区| 色网站国产精品| av网站一区二区三区| 亚洲最色的网站| 麻豆成人久久精品二区三区红| 蜜臀av性久久久久蜜臀av麻豆| 欧美在线一区二区| 3atv在线一区二区三区| 国产三级一区二区| 亚洲综合免费观看高清完整版在线| 国产精品原创巨作av| 亚洲精品一线二线三线| 国产iv一区二区三区| 欧美大胆人体bbbb| 男女男精品视频网| 成人免费观看男女羞羞视频| 日韩美女在线视频| 日韩精品一二区| 高清av一区二区| 国产欧美精品在线观看| 久久99精品国产.久久久久久| 欧美一区二区三区视频在线观看| 亚洲视频免费看| 久久精品国产亚洲5555| av成人动漫在线观看| 欧美一区二区三区男人的天堂| 国产精品美女www爽爽爽| 丝袜亚洲精品中文字幕一区| 91麻豆高清视频| 亚洲国产成人av好男人在线观看| 日日夜夜精品免费视频| 8x福利精品第一导航| 日本强好片久久久久久aaa| 欧美日免费三级在线| 天天综合网天天综合色| 欧美一区二区三区日韩视频| 亚洲一区视频在线| 精品国产一区二区三区久久久蜜月 | 亚洲人成精品久久久久| 欧美大片拔萝卜| 欧美日韩一区二区三区视频| 91看片淫黄大片一级| 成人免费毛片片v| 国产成人精品一区二区三区四区 | 亚洲电影你懂得| 亚洲精品久久7777| 亚洲视频一区二区在线| 国产精品久久久久久亚洲毛片 | 中文字幕中文在线不卡住| 久久久久国色av免费看影院| 日韩精品中文字幕一区二区三区 | 日产精品久久久久久久性色| 亚洲国产精品影院| 亚洲国产视频a| 亚洲国产成人porn| 日日夜夜精品视频天天综合网| 性做久久久久久免费观看| 亚洲成国产人片在线观看| 亚洲国产综合人成综合网站| 午夜影院久久久| 日日骚欧美日韩| 激情综合一区二区三区| 国产麻豆精品在线观看| 成人午夜av在线| 91浏览器入口在线观看| 欧美浪妇xxxx高跟鞋交| 欧美一区2区视频在线观看| www久久精品| 国产精品美女视频| 亚洲午夜精品网| 美女精品自拍一二三四| 国产精品性做久久久久久| 99re亚洲国产精品| 欧美色图12p| www成人在线观看| 自拍av一区二区三区| 亚洲va国产天堂va久久en| 麻豆精品视频在线| 99久久综合狠狠综合久久| 欧美日韩一区在线观看| 精品国偷自产国产一区| 综合激情网...| 日本亚洲最大的色成网站www| 国产乱码一区二区三区| 色偷偷成人一区二区三区91 | 亚洲资源在线观看| 经典三级在线一区| 91理论电影在线观看| 日韩一区二区三区免费看| 亚洲国产精品国自产拍av| 亚洲午夜免费福利视频| 国产福利一区二区三区视频| 日本高清免费不卡视频| 精品对白一区国产伦| 亚洲美女电影在线| 蓝色福利精品导航| 一本到不卡精品视频在线观看| 日韩一卡二卡三卡国产欧美| 中文字幕一区二区三中文字幕| 日日夜夜精品视频天天综合网| www.亚洲国产| 精品久久国产字幕高潮| 亚洲精品欧美综合四区| 国产一区二区导航在线播放| 日本高清无吗v一区| 久久精品人人爽人人爽| 五月天一区二区三区| www.成人网.com| 日韩欧美电影在线| 亚洲国产精品欧美一二99| 国产成人在线视频网站| 91精品国产一区二区| 亚洲精品国产第一综合99久久 | 国产精品青草综合久久久久99| 日韩电影一区二区三区| 色先锋aa成人| 国产精品久久久久久久久果冻传媒 | 91美女片黄在线观看91美女| 国产婷婷一区二区| 蜜桃av一区二区三区| 欧美日韩情趣电影| 亚洲一级二级在线| 91蜜桃在线免费视频| 欧美国产激情一区二区三区蜜月| 久久国产精品免费| 欧美一级搡bbbb搡bbbb| 亚洲成人免费影院| 欧美亚洲尤物久久| 一区二区三区日韩在线观看| caoporen国产精品视频| 中文字幕av一区二区三区高 | 日韩国产高清在线| 精品视频在线免费| 亚洲综合区在线| 在线观看亚洲a| 亚洲电影视频在线| 欧美日韩日日骚| 婷婷中文字幕综合| 在线播放91灌醉迷j高跟美女 | 人人超碰91尤物精品国产| 欧美视频精品在线| 亚洲一区二区视频| 欧美日韩你懂得| 婷婷六月综合亚洲| 日韩视频在线你懂得| 蜜桃av一区二区在线观看| 日韩网站在线看片你懂的| 精东粉嫩av免费一区二区三区| 精品国精品国产尤物美女| 国产精品456露脸| 国产精品久久久久久久蜜臀| 色综合天天视频在线观看| 亚洲精品国产品国语在线app| 欧美性受xxxx| 免费成人结看片| 久久精品日产第一区二区三区高清版 | 国产拍揄自揄精品视频麻豆| 国产福利一区在线观看| 中文字幕人成不卡一区| 日本二三区不卡| 麻豆精品精品国产自在97香蕉| www久久精品| 一本色道久久综合精品竹菊| 午夜不卡av免费| 国产婷婷色一区二区三区四区 | 欧美视频精品在线| 老司机午夜精品99久久| 国产精品视频线看| 欧美亚洲一区三区| 激情五月播播久久久精品| 国产精品毛片大码女人| 欧美日韩性生活|