跪求 DC综合的 makefile文件 文...

博客分类:
LOCAL_CFLAGS := -DHHH
这个等价于头文件中
#define HHH
LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog
这个写上,另外在头文件定义如下
#define LOG_TAG "TAG" //自定义的变量,相当于logcat函数中的tag
#undef LOG
#include &android/log.h&&& //#include &utils/Log.h&//在源码环境中,头文件的路径不同
#define LOGD(...)& __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
可以通过LOGD打印日志
比如 LOGD("strPwd=%s",strPwd);
浏览 24832
浏览: 96145 次
来自: 重庆
4.0以上被禁用了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'>> SOEM-1.3.1-_-soem-_-ethercatdc.c
SOEM-1.3.1-_-soem-_-ethercatdc.c ( File view )
* Simple Open EtherCAT Master Library
: ethercatdc.c
* Version : 1.3.1
: 11-03-2015
* Copyright (C)
Speciaal Machinefabriek Ketels v.o.f.
* Copyright (C)
Arthur Ketels
* Copyright (C)
TU/e Technische Universiteit Eindhoven
* Copyright (C)
rt-labs AB , Sweden
* SOEM you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the Free
* Software Foundation.
* SOEM 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 General Public License
* for more details.
* As a special exception, if other files instantiate templates or use macros
* or inline functions from this file, or you compile this file and link it
* with other works to produce a work based on this file, this file does not
* by itself cause the resulting work to be covered by the GNU General Public
* License. However the source code for this file must still be made available
* in accordance with section (3) of the GNU General Public License.
* This exception does not invalidate any other reasons why a work based on
* this file might be covered by the GNU General Public License.
* The EtherCAT Technology, the trade name and logo “EtherCAT” are the intellectual
* property of, and protected by Beckhoff Automation GmbH. You can use SOEM for
* the sole purpose of creating, using and/or selling or otherwise distributing
* an EtherCAT network master provided that an EtherCAT Master License is obtained
* from Beckhoff Automation GmbH.
* In case you did not receive a copy of the EtherCAT Master License along with
* SOEM write to Beckhoff Automation GmbH, Eiserstrasse 5, D-33415 Verl, Germany
* (www.beckhoff.com).
* Distributed Clock EtherCAT functions.
#include &oshw.h&
#include &osal.h&
#include &ethercattype.h&
#include &ethercatbase.h&
#include &ethercatmain.h&
#include &ethercatdc.h&
#define PORTM0 0x01
#define PORTM1 0x02
#define PORTM2 0x04
#define PORTM3 0x08
/** 1st sync pulse delay in ns here 100ms */
#define SyncDelay
* Set DC of slave to fire sync0 at CyclTime interval with CyclShift offset.
* @param[in]
= context struct
* @param [in] slave
Slave number.
* @param [in] act
TRUE = active, FALSE = deactivated
* @param [in] CyclTime
Cycltime in ns.
* @param [in] CyclShift
CyclShift in ns.
void ecx_dcsync0(ecx_contextt *context, uint16 slave, boolean act, uint32 CyclTime, uint32 CyclShift)
uint8 h, RA;
int64 t, t1;
slaveh = context-&slavelist[slave].
/* stop cyclic operation, ready for next trigger */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSYNCACT, sizeof(RA), &RA, EC_TIMEOUTRET);
RA = 1 + 2;
/* act cyclic operation and sync0, sync1 deactivated */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCCUC, sizeof(h), &h, EC_TIMEOUTRET); /* write access to ethercat */
(void)ecx_FPRD(context-&port, slaveh, ECT_REG_DCSYSTIME, sizeof(t1), &t1, EC_TIMEOUTRET); /* read local time of slave */
t1 = etohll(t1);
/* Calculate first trigger time, always a whole multiple of CyclTime rounded up
plus the shifttime (can be negative)
This insures best sychronisation between slaves, slaves with the same CyclTime
will sync at the same moment (you can use CyclShift to shift the sync) */
if (CyclTime & 0)
t = ((t1 + SyncDelay) / CyclTime) * CyclTime + CyclTime + CyclS
t = t1 + SyncDelay + CyclS
/* first trigger at T1 + CyclTime + SyncDelay + CyclShift in ns */
t = htoell(t);
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSTART0, sizeof(t), &t, EC_TIMEOUTRET); /* SYNC0 start time */
tc = htoel(CyclTime);
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCCYCLE0, sizeof(tc), &tc, EC_TIMEOUTRET); /* SYNC0 cycle time */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSYNCACT, sizeof(RA), &RA, EC_TIMEOUTRET); /* activate cyclic operation */
* Set DC of slave to fire sync0 and sync1 at CyclTime interval with CyclShift offset.
* @param[in]
= context struct
* @param [in] slave
Slave number.
* @param [in] act
TRUE = active, FALSE = deactivated
* @param [in] CyclTime0
Cycltime SYNC0 in ns.
* @param [in] CyclTime1
Cycltime SYNC1 in ns. This time is a delta time in relation to
the SYNC0 fire. If CylcTime1 = 0 then SYNC1 fires a the same time
* @param [in] CyclShift
CyclShift in ns.
void ecx_dcsync01(ecx_contextt *context, uint16 slave, boolean act, uint32 CyclTime0, uint32 CyclTime1, uint32 CyclShift)
uint8 h, RA;
int64 t, t1;
uint32 TrueCyclT
/* Sync1 can be used as a multiple of Sync0, use true cycle time */
TrueCyclTime = ((CyclTime1 / CyclTime0) + 1) * CyclTime0;
slaveh = context-&slavelist[slave].
/* stop cyclic operation, ready for next trigger */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSYNCACT, sizeof(RA), &RA, EC_TIMEOUTRET);
RA = 1 + 2 + 4;
/* act cyclic operation and sync0 + sync1 */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCCUC, sizeof(h), &h, EC_TIMEOUTRET); /* write access to ethercat */
(void)ecx_FPRD(context-&port, slaveh, ECT_REG_DCSYSTIME, sizeof(t1), &t1, EC_TIMEOUTRET); /* read local time of slave */
t1 = etohll(t1);
/* Calculate first trigger time, always a whole multiple of TrueCyclTime rounded up
plus the shifttime (can be negative)
This insures best sychronisation between slaves, slaves with the same CyclTime
will sync at the same moment (you can use CyclShift to shift the sync) */
if (CyclTime0 & 0)
t = ((t1 + SyncDelay) / TrueCyclTime) * TrueCyclTime + TrueCyclTime + CyclS
t = t1 + SyncDelay + CyclS
/* first trigger at T1 + CyclTime + SyncDelay + CyclShift in ns */
t = htoell(t);
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSTART0, sizeof(t), &t, EC_TIMEOUTRET); /* SYNC0 start time */
tc = htoel(CyclTime0);
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCCYCLE0, sizeof(tc), &tc, EC_TIMEOUTRET); /* SYNC0 cycle time */
tc = htoel(CyclTime1);
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCCYCLE1, sizeof(tc), &tc, EC_TIMEOUTRET); /* SYNC1 cycle time */
(void)ecx_FPWR(context-&port, slaveh, ECT_REG_DCSYNCACT, sizeof(RA), &RA, EC_TIMEOUTRET); /* activate cyclic operation */
/* latched port time of slave */
static int32 ecx_porttime(ecx_contextt *context, uint16 slave, uint8 port)
switch (port)
ts = context-&slavelist[slave].DCrtA;
ts = context-&slavelist[slave].DCrtB;
ts = context-&slavelist[slave].DCrtC;
ts = context-&slavelist[slave].DCrtD;
/* calculate previous active port of a slave */
static uint8 ecx_prevport(ecx_contextt *context, uint16 slave, uint8 port)
uint8 pport =
uint8 aport = context-&slavelist[slave].
switch(port)
if(aport & PORTM2)
pport = 2;
else if (aport & PORTM1)
pport = 1;
else if (aport & PORTM3)
pport = 3;
if(aport & PORTM3)
pport = 3;
else if (aport & PORTM0)
pport = 0;
else if (aport & PORTM2)
pport = 2;
if(aport & PORTM1)
pport = 1;
else if (aport & PORTM3)
pport = 3;
else if (aport & PORTM0)
pport = 0;
if(aport & PORTM0)
pport = 0;
else if (aport & PORTM2)
pport = 2;
else if (aport & PORTM1)
pport = 1;
/* search unconsumed ports in parent, consume and return first open port */
static uint8 ecx_parentport(ecx_contextt *context, uint16 parent)
uint8 parentport = 0;
/* search order is important, here 3 - 1 - 2 - 0 */
b = context-&slavelist[parent].
if (b & PORTM3)
parentport = 3;
b &= (uint8)~PORTM3;
else if (b & PORTM1)
parentport = 1;
b &= (uint8)~PORTM1;
else if (b & PORTM2)
parentport = 2;
b &= (uint8)~PORTM2;
else if (b & PORTM0)
parentport = 0;
b &= (uint8)~PORTM0;
context-&slavelist[parent].consumedports =
* Locate DC slaves, measure propagation delays.
* @param[in]
= context struct
* @return boolean if slaves are found with DC
boolean ecx_configdc(ecx_contextt *context)
uint16 i, slaveh, parent,
uint16 parenthold = 0;
uint16 prevDCslave = 0;
int32 ht, dt1, dt2, dt3;
int8 plist[4];
int32 tlist[4];
uint64 mastertime64;
context-&slavelist[0].hasdc = FALSE;
context-&grouplist[0].hasdc = FALSE;
mastertime = osal_current_time();
ecx_BWR(context-&port, 0, ECT_REG_DCTIME0, sizeof(ht), &ht, EC_TIMEOUTRET);
/* latch DCrecvTimeA of all slaves */
mastertime64 = (((uint64)mastertime.sec * 1000000) + (uint64)mastertime.usec) * 1000;
for (i = 1; i &= *(context-&slavecount); i++)
context-&slavelist[i].consumedports = context-&slavelist[i].
if (context-&slavelist[i].hasdc)
if (!context-&slavelist[0].hasdc)
context-&slavelist[0].hasdc = TRUE;
(Not finished, please download and read the complete file)
Expand> <Close
Want complete source code? Download it here
0 lines left, continue to read ▼
Sponsored links
Tips: You can preview the content of files by clicking file names^_^
&&0.00 B 17:21
ChangeLog3.72 kB 17:21
Doxyfile77.57 kB 17:21
1.19 kB 17:21
724.00 B 17:21
161.00 B 17:21
153.00 B 17:21
1.58 kB 17:21
&&0.00 B 17:21
&&0.00 B 17:21
7.08 kB 17:21
bc_s.png677.00 B 17:21
6.30 kB 17:21
closed.png126.00 B 17:21
12.06 kB 17:21
doxygen.png3.85 kB 17:21
27.41 kB 17:21
30.42 kB 17:21
83.34 kB 17:21
51.55 kB 17:21
59.51 kB 17:21
35.12 kB 17:21
38.01 kB 17:21
11.18 kB 17:21
7.30 kB 17:21
20.82 kB 17:21
9.01 kB 17:21
16.53 kB 17:21
10.30 kB 17:21
149.23 kB 17:21
95.04 kB 17:21
29.03 kB 17:21
6.57 kB 17:21
21.54 kB 17:21
28.53 kB 17:21
131.68 kB 17:21
6.00 kB 17:21
5.21 kB 17:21
4.38 kB 17:21
5.55 kB 17:21
7.02 kB 17:21
7.53 kB 17:21
5.55 kB 17:21
3.63 kB 17:21
3.71 kB 17:21
6.15 kB 17:21
4.84 kB 17:21
5.51 kB 17:21
5.21 kB 17:21
4.79 kB 17:21
5.63 kB 17:21
3.98 kB 17:21
7.16 kB 17:21
3.95 kB 17:21
3.86 kB 17:21
3.52 kB 17:21
4.47 kB 17:21
5.20 kB 17:21
4.37 kB 17:21
5.54 kB 17:21
7.01 kB 17:21
7.53 kB 17:21
5.54 kB 17:21
3.63 kB 17:21
3.71 kB 17:21
6.14 kB 17:21
4.83 kB 17:21
5.50 kB 17:21
5.20 kB 17:21
4.78 kB 17:21
5.63 kB 17:21
3.97 kB 17:21
7.16 kB 17:21
3.94 kB 17:21
3.85 kB 17:21
3.52 kB 17:21
4.46 kB 17:21
3.98 kB 17:21
4.11 kB 17:21
4.26 kB 17:21
80.43 kB 17:21
3.72 kB 17:21
4.16 kB 17:21
4.59 kB 17:21
3.72 kB 17:21
5.72 kB 17:21
3.88 kB 17:21
5.06 kB 17:21
4.38 kB 17:21
3.60 kB 17:21
5.72 kB 17:21
4.53 kB 17:21
3.60 kB 17:21
3.78 kB 17:21
19.42 kB 17:21
2.87 kB 17:21
29.82 kB 17:21
3.05 kB 17:21
2.97 kB 17:21
2.97 kB 17:21
35.87 kB 17:21
3.09 kB 17:21
3.32 kB 17:21
3.19 kB 17:21
2.97 kB 17:21
3.86 kB 17:21
2.29 kB 17:21
13.31 kB 17:21
12.08 kB 17:21
82.89 kB 17:21
memory_layout.png14.32 kB 17:21
nav_f.png159.00 B 17:21
nav_h.png97.00 B 17:21
open.png118.00 B 17:21
24.13 kB 17:21
11.27 kB 17:21
17.47 kB 17:21
1.63 kB 17:21
3.77 kB 17:21
9.02 kB 17:21
7.18 kB 17:21
6.58 kB 17:21
4.21 kB 17:21
4.17 kB 17:21
8.09 kB 17:21
7.87 kB 17:21
4.25 kB 17:21
10.02 kB 17:21
6.62 kB 17:21
4.38 kB 17:21
4.32 kB 17:21
7.88 kB 17:21
3.93 kB 17:21
4.23 kB 17:21
6.92 kB 17:21
10.55 kB 17:21
6.22 kB 17:21
7.06 kB 17:21
7.50 kB 17:21
4.11 kB 17:21
6.79 kB 17:21
4.28 kB 17:21
10.95 kB 17:21
6.95 kB 17:21
8.74 kB 17:21
13.37 kB 17:21
5.64 kB 17:21
3.70 kB 17:21
4.27 kB 17:21
4.90 kB 17:21
3.71 kB 17:21
46.03 kB 17:21
4.13 kB 17:21
3.70 kB 17:21
4.14 kB 17:21
18.38 kB 17:21
4.11 kB 17:21
3.39 kB 17:21
5.87 kB 17:21
2.71 kB 17:21
4.62 kB 17:21
tab_a.png140.00 B 17:21
tab_b.png178.00 B 17:21
tab_h.png192.00 B 17:21
tab_s.png189.00 B 17:21
1.07 kB 17:21
24.30 kB 17:21
&&0.00 B 17:21
memory_layout.png14.32 kB 17:21
soem.dox9.21 kB 17:21
9.93 kB 17:21
142.00 B 17:21
&&0.00 B 17:21
app.mk2.00 kB 17:21
cl_eepromtool.rsp385.00 B 17:21
cl_libsoem.rsp511.00 B 17:21
cl_simple_test.rsp388.00 B 17:21
cl_slaveinfo.rsp380.00 B 17:21
&&0.00 B 17:21
arm-eabi-gcc.mk1.52 kB 17:21
bfin-elf-gcc.mk1.46 kB 17:21
gcc.mk2.23 kB 17:21
linux-gcc.mk1.31 kB 17:21
powerpc-eabi-gcc.mk1.73 kB 17:21
powerpc-eabispe-gcc.mk1.51 kB 17:21
files.mk1.50 kB 17:21
lib.mk1.82 kB 17:21
lib_libsoem.rsp258.00 B 17:21
link_eepromtool.rsp451.00 B 17:21
link_simple_test.rsp457.00 B 17:21
link_slaveinfo.rsp445.00 B 17:21
rules.mk2.22 kB 17:21
subdir.mk1.88 kB 17:21
898.00 B 17:21
884.00 B 17:21
941.00 B 17:21
&&0.00 B 17:21
1.21 kB 17:21
&&0.00 B 17:21
3.75 kB 17:21
2.30 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
5.38 kB 17:21
2.14 kB 17:21
2.35 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
5.57 kB 17:21
1.43 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
7.82 kB 17:21
4.79 kB 17:21
2.13 kB 17:21
3.51 kB 17:21
7.55 kB 17:21
&&0.00 B 17:21
1.21 kB 17:21
&&0.00 B 17:21
23.57 kB 17:21
4.80 kB 17:21
2.79 kB 17:21
2.26 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
22.17 kB 17:21
4.70 kB 17:21
4.57 kB 17:21
2.19 kB 17:21
&&0.00 B 17:21
&&0.00 B 17:21
24.97 kB 17:21
1.66 kB 17:21
&&0.00 B 17:21
15.40 kB 17:21
235.00 B 17:21
21.14 kB 17:21
4.60 kB 17:21
2.90 kB 17:21
2.20 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
21.79 kB 17:21
4.75 kB 17:21
4.89 kB 17:21
2.20 kB 17:21
&&0.00 B 17:21
&&0.00 B 17:21
16.21 kB 17:21
3.83 kB 17:21
3.84 kB 17:21
5.62 kB 17:21
2.34 kB 17:21
2.08 kB 17:21
2.81 kB 17:21
2.27 kB 17:21
&&0.00 B 17:21
1.97 kB 17:21
28.43 kB 17:21
3.34 kB 17:21
13.73 kB 17:21
5.44 kB 17:21
2.86 kB 17:21
2.10 kB 17:21
14.16 kB 17:21
&&0.00 B 17:21
Packet.lib8.25 kB 17:21
libpacket.a20.33 kB 17:21
libwpcap.a53.00 kB 17:21
wpcap.lib18.87 kB 17:21
&&0.00 B 17:21
Packet.lib8.10 kB 17:21
wpcap.lib18.45 kB 17:21
1.90 kB 17:21
&&0.00 B 17:21
1.20 kB 17:21
23.07 kB 17:21
5.07 kB 17:21
51.63 kB 17:21
5.31 kB 17:21
55.19 kB 17:21
2.69 kB 17:21
7.38 kB 17:21
16.52 kB 17:21
2.55 kB 17:21
14.15 kB 17:21
2.59 kB 17:21
61.84 kB 17:21
17.65 kB 17:21
14.69 kB 17:21
2.30 kB 17:21
15.23 kB 17:21
5.10 kB 17:21
16.85 kB 17:21
&&0.00 B 17:21
&.late&0.00 B 17:21
1.21 kB 17:21
&&0.00 B 17:21
&&0.00 B 17:21
14.09 kB 17:21
&&0.00 B 17:21
1.39 kB 17:21
12.36 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
11.14 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
13.36 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
4.65 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
10.71 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
8.21 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
22.27 kB 17:21
&&0.00 B 17:21
15.56 kB 17:21
schedule.tt191.00 B 17:21
&&0.00 B 17:21
1.39 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
11.20 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
11.27 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
4.65 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
7.50 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
12.52 kB 17:21
&&0.00 B 17:21
1.22 kB 17:21
22.62 kB 17:21
Sponsored links
Sent successfully!
SOEM-1.3.1.tar.gz
Your Point(s)
Your Point isn't enough.
Get point immediately by PayPal
10 Points / $20
22 Points / $40
55 Points / $100
120 Points / $200
point will be added to your account automatically after the transaction.
Don't have an account?
Need any help?
切换到中文版?
^_^"Oops ...
Sorry!This guy is mysterious, its blog hasn't been opened, try another, please!
Favorite by禄 dcerror.cc
dcerror.cc ( File view )
Copyright (C) , OFFIS e.V.
All rights reserved.
See COPYRIGHT file for details.
This software and supporting documentation were developed by
OFFIS e.V.
R&D Division Health
Escherweg 2
D-26121 Oldenburg, Germany
Andrew Hewett
Purpose: Error handling, codes and strings
Last Update:
$Author: joergr $
Update Date:
13:14:07 $
CVS/RCS Revision: $Revision: 1.26 $
$State: Exp $
CVS/RCS Log at end of file
#include &dcmtk/config/osconfig.h&
/* make sure OS specific configuration is included first */
#include &dcmtk/dcmdata/dcerror.h&
const OFConditionConst ECC_InvalidTag(
OFM_dcmdata,
1, OF_error, &Invalid tag&
const OFConditionConst ECC_TagNotFound(
OFM_dcmdata,
2, OF_error, &Tag not found&
const OFConditionConst ECC_InvalidVR(
OFM_dcmdata,
3, OF_error, &Invalid VR&
const OFConditionConst ECC_InvalidStream(
OFM_dcmdata,
4, OF_error, &Invalid stream&
const OFConditionConst ECC_EndOfStream(
OFM_dcmdata,
5, OF_error, &End of stream&
const OFConditionConst ECC_CorruptedData(
OFM_dcmdata,
6, OF_error, &Corrupted data&
const OFConditionConst ECC_IllegalCall(
OFM_dcmdata,
7, OF_error, &Illegal call, perhaps wrong parameters&
const OFConditionConst ECC_SequEnd(
OFM_dcmdata,
8, OF_error, &Sequence end&
const OFConditionConst ECC_DoubledTag(
OFM_dcmdata,
9, OF_error, &Doubled tag&
const OFConditionConst ECC_StreamNotifyClient(
OFM_dcmdata, 10, OF_error, &I/O suspension or premature end of stream&
const OFConditionConst ECC_WrongStreamMode(
OFM_dcmdata, 11, OF_error, &Mode (R/W, random/sequence) is wrong&
const OFConditionConst ECC_ItemEnd(
OFM_dcmdata, 12, OF_error, &Item end&
const OFConditionConst ECC_RepresentationNotFound(
OFM_dcmdata, 13, OF_error, &Pixel representation not found&
const OFConditionConst ECC_CannotChangeRepresentation( OFM_dcmdata, 14, OF_error, &Pixel representation cannot be changed&
const OFConditionConst ECC_UnsupportedEncoding(
OFM_dcmdata, 15, OF_error, &Unsupported compression or encryption&
// error code 16 is reserved for zlib-related error messages
const OFConditionConst ECC_PutbackFailed(
OFM_dcmdata, 17, OF_error, &Parser failure: Putback operation failed&
// error code 18 is reserved for file read error messages
// error code 19 is reserved for file write error messages
const OFConditionConst ECC_DoubleCompressionFilters(
OFM_dcmdata, 20, OF_error, &Too many compression filters&
const OFConditionConst ECC_ApplicationProfileViolated( OFM_dcmdata, 21, OF_error, &Storage media application profile violated& );
// error code 22 is reserved for dcmodify error messages
const OFConditionConst ECC_InvalidOffset(
OFM_dcmdata, 23, OF_error, &Invalid offset&
const OFConditionConst ECC_TooManyBytesRequested(
OFM_dcmdata, 24, OF_error, &Too many bytes requested&
// error code 25 is reserved for tag path parsing error messages
const OFConditionConst ECC_InvalidBasicOffsetTable(
OFM_dcmdata, 26, OF_error, &Invalid basic offset table&
const OFConditionConst ECC_ElemLengthLargerThanItem(
OFM_dcmdata, 27, OF_error, &Length of element larger than explicit length of surrounding item& );
const OFConditionConst ECC_FileMetaInfoHeaderMissing(
OFM_dcmdata, 28, OF_error, &File meta information header missing&
const OFConditionConst ECC_SeqOrItemContentOverflow(
OFM_dcmdata, 29, OF_error, &Item or sequence content exceeds maximum of 32-bit length field&);
const OFConditionConst ECC_ValueRepresentationViolated(OFM_dcmdata, 30, OF_error, &Value Representation violated&
const OFConditionConst ECC_ValueMultiplicityViolated(
OFM_dcmdata, 31, OF_error, &Value Multiplicity violated&
const OFConditionConst ECC_MaximumLengthViolated(
OFM_dcmdata, 32, OF_error, &Maximum VR length violated&
const OFConditionConst ECC_ElemLengthExceeds16BitField(OFM_dcmdata, 33, OF_error, &Length of element value exceeds maximum of 16-bit length field& );
const OFCondition EC_InvalidTag(
ECC_InvalidTag);
const OFCondition EC_TagNotFound(
ECC_TagNotFound);
const OFCondition EC_InvalidVR(
ECC_InvalidVR);
const OFCondition EC_InvalidStream(
ECC_InvalidStream);
const OFCondition EC_EndOfStream(
ECC_EndOfStream);
const OFCondition EC_CorruptedData(
ECC_CorruptedData);
const OFCondition EC_IllegalCall(
ECC_IllegalCall);
const OFCondition EC_SequEnd(
ECC_SequEnd);
const OFCondition EC_DoubledTag(
ECC_DoubledTag);
const OFCondition EC_StreamNotifyClient(
ECC_StreamNotifyClient);
const OFCondition EC_WrongStreamMode(
ECC_WrongStreamMode);
const OFCondition EC_ItemEnd(
ECC_ItemEnd);
const OFCondition EC_RepresentationNotFound(
ECC_RepresentationNotFound);
const OFCondition EC_CannotChangeRepresentation( ECC_CannotChangeRepresentation);
const OFCondition EC_UnsupportedEncoding(
ECC_UnsupportedEncoding);
const OFCondition EC_PutbackFailed(
ECC_PutbackFailed);
const OFCondition EC_DoubleCompressionFilters(
ECC_DoubleCompressionFilters);
const OFCondition EC_ApplicationProfileViolated( ECC_ApplicationProfileViolated);
const OFCondition EC_InvalidOffset(
ECC_InvalidOffset);
const OFCondition EC_TooManyBytesRequested(
ECC_TooManyBytesRequested);
const OFCondition EC_InvalidBasicOffsetTable(
ECC_InvalidBasicOffsetTable);
const OFCondition EC_ElemLengthLargerThanItem(
ECC_ElemLengthLargerThanItem);
const OFCondition EC_FileMetaInfoHeaderMissing(
ECC_FileMetaInfoHeaderMissing);
const OFCondition EC_SeqOrItemContentOverflow(
ECC_SeqOrItemContentOverflow);
const OFCondition EC_ValueRepresentationViolated(ECC_ValueRepresentationViolated);
const OFCondition EC_ValueMultiplicityViolated(
ECC_ValueMultiplicityViolated);
const OFCondition EC_MaximumLengthViolated(
ECC_MaximumLengthViolated);
const OFCondition EC_ElemLengthExceeds16BitField(ECC_ElemLengthExceeds16BitField);
const char *dcmErrorConditionToString(OFCondition cond)
return cond.text();
** CVS/RCS Log:
** $Log: dcerror.cc,v $
** Revision 1.26
** Updated copyright header. Added reference to COPYRIGHT file.
** Revision 1.25
** Fixed issue with element values which exceed the maximum of a 16-bit length
** Revision 1.24
** Added methods that check whether a given string value conforms to the VR and
** VM definitions of the DICOM standards.
** Revision 1.23
** Added checks for sequence and item lengths which prevents overflow in length
** field, if total length of contained items (or sequences) exceeds 32-bit
** length field. Also introduced new flag (default: enabled) for writing
** in explicit length mode, which allows for automatically switching encoding
** of only that very sequence/item to undefined length coding (thus permitting
** to actually write the file).
** Revision 1.22
** Introduced new error code EC_FileMetaInfoHeaderMissing.
** Revision 1.21
** Fixed various layout and formatting issues.
** Revision 1.20
** Changed parser to make use of the new error ignoring flag when parsing.
** Added check (makes use of new flag) that notes whether an element's value is
** specified larger than the surrounding item (applicable for explicit length
** coding).
** Revision 1.19
** Introduced new error code EC_InvalidBasicOffsetTable.
** Revision 1.18
** Introduced new error code number for specific findOrCreatePath() errors.
** Revision 1.17
** Added module code OFM_dcmjpls and some new error codes.
** Revision 1.16
** Changed include path schema for all DCMTK header files
** Revision 1.15
** Added reservation for dcmodify error messages.
** Revision 1.14
** Added new error status &EC_ApplicationProfileViolated&.
** Revision 1.13
** Initial release of new DICOM I/O stream classes that add support for stream
compression (deflated little endian explicit VR transfer syntax)
** Revision 1.12
** Adapted dcmdata to class OFCondition
** Revision 1.11
** Updated copyright header
** Revision 1.10
** Updated copyright header.
** Revision 1.9
** Corrected macro for Borland C++ Builder 4 workaround.
** Revision 1.8
** Avoiding to include &stdlib.h& as extern &C& on Borland C++ Builder 4,
workaround for bug in compiler header files.
** Revision 1.7
** Updated copyright header in module dcmdata
** Revision 1.6
** Including &unistd.h& if available.
** Revision 1.5
** - New environment for encapsulated pixel representations. DcmPixelData
can contain different representations and uses codecs to convert
between them. Codecs are derived from the DcmCodec class. New error
codes are introduced for handling of representations. New internal
value representation (only for ident
(Not finished, please download and read the complete file)
Expand锛

我要回帖

更多关于 makefile文件 的文章

 

随机推荐