00001 /* 00002 * Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA) 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 00018 #ifndef _SDOSegmented_H 00019 #define _SDOSegmented_H 00020 00021 #include <vector> 00022 00027 class segData { 00028 00029 public: 00030 00034 enum SDOStatusFlag { 00035 SDO_SEG_FREE = 0, 00036 SDO_SEG_WAITING = 3, 00037 SDO_SEG_COLLECTING = 2, 00038 SDO_SEG_PROCESSING = 1, 00039 }; 00040 00041 segData() { 00042 objectID = 0x0000; 00043 objectSubID = 0x00; 00044 toggleBit = false; 00045 statusFlag = SDO_SEG_FREE; 00046 } 00047 00048 ~segData() {} 00049 00053 void resetTransferData() { 00054 data.clear(); 00055 objectID = 0x0000; 00056 objectSubID = 0x00; 00057 toggleBit = false; 00058 statusFlag = SDO_SEG_FREE; 00059 } 00060 00061 //public attributes 00062 //all attributes are public, as this class is used only as ~data array 00063 00071 int statusFlag; 00072 00076 int objectID; 00077 00081 int objectSubID; 00082 00086 bool toggleBit; 00087 00091 unsigned int numTotalBytes; 00092 00096 std::vector<unsigned char> data; 00097 }; 00098 00099 #endif