diff --git a/.gitignore b/.gitignore index 0e3b415..e1e9726 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.sublime-workspace build/* lib/* +tmp/* diff --git a/src/core/tango/attrdata.cpp b/src/core/tango/attrdata.cpp index 22e37dd..6a0f0f9 100644 --- a/src/core/tango/attrdata.cpp +++ b/src/core/tango/attrdata.cpp @@ -4,45 +4,45 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) { switch(attr.get_type()) { - case 0: // void + case Tango::DEV_VOID: // 0 - void lua_pushnil(L); break; - case 1: // bool + case Tango::DEV_BOOLEAN: // 1 - bool push_attr_bool(L, attr); break; - case 2: // short + case Tango::DEV_SHORT: // 2 - short push_attr_number(L, attr); break; - case 3: // long + case Tango::DEV_LONG: // 3 - long push_attr_number(L, attr); break; - case 4: // float + case Tango::DEV_FLOAT: // 4 - float push_attr_number(L, attr); break; - case 5: // double + case Tango::DEV_DOUBLE: // 5 - double push_attr_number(L, attr); break; - case 6: // ushort + case Tango::DEV_USHORT: // 6 - ushort push_attr_number(L, attr); break; - case 7: // ulong + case Tango::DEV_ULONG: // 7 - ulong push_attr_number(L, attr); break; - case 8: // string - case 9: // char[] - case 20: // const string + case Tango::DEV_STRING: // 8 - string + case Tango::DEVVAR_CHARARRAY: // 9 - char[] + case Tango::CONST_DEV_STRING: // 20 - const string push_attr_string(L, attr); break; - case 10: // short[] + case Tango::DEVVAR_SHORTARRAY: // 10 - short[] { std::vector v; attr >> v; @@ -50,7 +50,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 11: // long[] + case Tango::DEVVAR_LONGARRAY: // 11 - long[] { std::vector v; attr >> v; @@ -58,7 +58,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 12: // float[] + case Tango::DEVVAR_FLOATARRAY: // 12 - float[] { std::vector v; attr >> v; @@ -66,7 +66,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 13: // double[] + case Tango::DEVVAR_DOUBLEARRAY: // 13 - double[] { std::vector v; attr >> v; @@ -74,7 +74,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 14: // ushort[] + case Tango::DEVVAR_USHORTARRAY: // 14 - ushort[] { std::vector v; attr >> v; @@ -82,7 +82,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 15: // ulong[] + case Tango::DEVVAR_ULONGARRAY: // 15 - ulong[] { std::vector v; attr >> v; @@ -90,7 +90,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 16: // string[] + case Tango::DEVVAR_STRINGARRAY: // 16 - string[] { std::vector v; attr >> v; @@ -98,7 +98,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 21: // bool[] + case Tango::DEVVAR_BOOLEANARRAY: // 21 - bool[] { std::vector v; attr >> v; @@ -106,7 +106,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 22: // uchar + case Tango::DEV_UCHAR: // 22 - uchar { unsigned char v; attr >> v; @@ -114,15 +114,15 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 23: // long64 + case Tango::DEV_LONG64: // 23 - long64 push_attr_number(L, attr); break; - case 24: // ulong64 + case Tango::DEV_ULONG64: // 24 - ulong64 push_attr_number(L, attr); break; - case 25: // long64[] + case Tango::DEVVAR_LONG64ARRAY: // 25 - long64[] { std::vector v; attr >> v; @@ -130,7 +130,7 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 26: // ulong64[] + case Tango::DEVVAR_ULONG64ARRAY: // 26 - ulong64[] { std::vector v; attr >> v; @@ -138,18 +138,22 @@ void unpack_attr_data(lua_State* L, Tango::DeviceAttribute attr) break; } - case 27: // int + case Tango::DEV_INT: // 27 - int push_attr_number(L, attr); break; - case 17: // longstring[] ??? - case 18: // doublestring[] ??? - case 19: // DevState - case 28: // DevEncoded + case Tango::DEVVAR_LONGSTRINGARRAY: // 17 - longstring[] ??? + case Tango::DEVVAR_DOUBLESTRINGARRAY: // 18 - doublestring[] ??? + case Tango::DEV_STATE: // 19 - DevState + case Tango::DEV_ENCODED: // 28 - DevEncoded + case Tango::DEV_ENUM: // 29 - DevEnum + case Tango::DEV_PIPE_BLOB: // 30 - DevPipeBlob + case Tango::DEVVAR_STATEARRAY: // 31 - DevState[] LUT_LOG(WARNING, "%s: Attribute type not implemented for reading yet: %d", attr.name.c_str(), attr.get_type()); lua_pushnil(L); break; + case Tango::DATA_TYPE_UNKNOWN: // 32 - unknown default: LUT_LOG(ERROR, "%s: Device returned unknown type: %d", attr.name.c_str(), attr.get_type()); lua_pushnil(L); @@ -247,75 +251,79 @@ Tango::DeviceAttribute pack_attr_data(lua_State* L, int idx, AttrTypeDescription { switch(d.type) { - case 0: // void + case Tango::DEV_VOID: // 0 - void LUT_LOG(ERROR, "%s: Void is not writeable type!", attr_name); break; - case 1: // bool + case Tango::DEV_BOOLEAN: // 1 - bool // Lua 5.1 is missing the luaL_checkboolean function return pack_attr_value(attr_name, (bool)lua_toboolean(L, idx)); break; - case 2: // short + case Tango::DEV_SHORT: // 2 - short return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 3: // long + case Tango::DEV_LONG: // 3 - long return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 4: // float + case Tango::DEV_FLOAT: // 4 - float return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 5: // double + case Tango::DEV_DOUBLE: // 5 - double return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 6: // ushort + case Tango::DEV_USHORT: // 6 - ushort return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 7: // ulong + case Tango::DEV_ULONG: // 7 - ulong return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 8: // string - case 9: // char[] - case 20: // const string + case Tango::DEV_STRING: // 8 - string + case Tango::DEVVAR_CHARARRAY: // 9 - char[] + case Tango::CONST_DEV_STRING: // 20 - const string return pack_attr_value(attr_name, luaL_checkstring(L, idx)); break; - case 23: // long64 + case Tango::DEV_LONG64: // 23 - long64 return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 24: // ulong64 + case Tango::DEV_ULONG64: // 24 - ulong64 return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 27: // int + case Tango::DEV_INT: // 27 - int return pack_attr_value(attr_name, pop_number(L, idx)); break; - case 10: // short[] - case 11: // long[] - case 12: // float[] - case 13: // double[] - case 14: // ushort[] - case 15: // ulong[] - case 16: // string[] - case 17: // longstring[] ??? - case 18: // doublestring[] ??? - case 19: // DevState - case 21: // bool[] - case 22: // uchar - case 25: // long64[] - case 26: // ulong64[] - case 28: // DevEncoded + case Tango::DEVVAR_SHORTARRAY: // 10 - short[] + case Tango::DEVVAR_LONGARRAY: // 11 - long[] + case Tango::DEVVAR_FLOATARRAY: // 12 - float[] + case Tango::DEVVAR_DOUBLEARRAY: // 13 - double[] + case Tango::DEVVAR_USHORTARRAY: // 14 - ushort[] + case Tango::DEVVAR_ULONGARRAY: // 15 - ulong[] + case Tango::DEVVAR_STRINGARRAY: // 16 - string[] + case Tango::DEVVAR_LONGSTRINGARRAY: // 17 - longstring[] ??? + case Tango::DEVVAR_DOUBLESTRINGARRAY: // 18 - doublestring[] ??? + case Tango::DEV_STATE: // 19 - DevState + case Tango::DEVVAR_BOOLEANARRAY: // 21 - bool[] + case Tango::DEV_UCHAR: // 22 - uchar + case Tango::DEVVAR_LONG64ARRAY: // 25 - long64[] + case Tango::DEVVAR_ULONG64ARRAY: // 26 - ulong64[] + case Tango::DEV_ENCODED: // 28 - DevEncoded + case Tango::DEV_ENUM: // 29 - DevEnum + case Tango::DEV_PIPE_BLOB: // 30 - DevPipeBlob + case Tango::DEVVAR_STATEARRAY: // 31 - DevState[] LUT_LOG(WARNING, "%s: Attribute type not implemented for writing yet: %d", attr_name, d.type); break; + case Tango::DATA_TYPE_UNKNOWN: // 32 - unknown default: LUT_LOG(ERROR, "%s: Attribute reports unknown type: %d", attr_name, d.type); } diff --git a/src/core/tango/cmddata.cpp b/src/core/tango/cmddata.cpp index 5921b3a..c6f0692 100644 --- a/src/core/tango/cmddata.cpp +++ b/src/core/tango/cmddata.cpp @@ -4,45 +4,45 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) { switch(type) { - case 0: // void + case Tango::DEV_VOID: // 0 - void lua_pushnil(L); break; - case 1: // bool + case Tango::DEV_BOOLEAN: // 1 - bool push_cmd_bool(L, data); break; - case 2: // short + case Tango::DEV_SHORT: // 2 - short push_cmd_number(L, data); break; - case 3: // long + case Tango::DEV_LONG: // 3 - long push_cmd_number(L, data); break; - case 4: // float + case Tango::DEV_FLOAT: // 4 - float push_cmd_number(L, data); break; - case 5: // double + case Tango::DEV_DOUBLE: // 5 - double push_cmd_number(L, data); break; - case 6: // ushort + case Tango::DEV_USHORT: // 6 - ushort push_cmd_number(L, data); break; - case 7: // ulong + case Tango::DEV_ULONG: // 7 - ulong push_cmd_number(L, data); break; - case 8: // string - case 9: // char[] - case 20: // const string + case Tango::DEV_STRING: // 8 - string + case Tango::DEVVAR_CHARARRAY: // 9 - char[] + case Tango::CONST_DEV_STRING: // 20 - const string push_cmd_string(L, data); break; - case 10: // short[] + case Tango::DEVVAR_SHORTARRAY: // 10 - short[] { std::vector v; data >> v; @@ -50,7 +50,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 11: // long[] + case Tango::DEVVAR_LONGARRAY: // 11 - long[] { std::vector v; data >> v; @@ -58,7 +58,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 12: // float[] + case Tango::DEVVAR_FLOATARRAY: // 12 - float[] { std::vector v; data >> v; @@ -66,7 +66,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 13: // double[] + case Tango::DEVVAR_DOUBLEARRAY: // 13 - double[] { std::vector v; data >> v; @@ -74,7 +74,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 14: // ushort[] + case Tango::DEVVAR_USHORTARRAY: // 14 - ushort[] { std::vector v; data >> v; @@ -82,7 +82,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 15: // ulong[] + case Tango::DEVVAR_ULONGARRAY: // 15 - ulong[] { std::vector v; data >> v; @@ -90,7 +90,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 16: // string[] + case Tango::DEVVAR_STRINGARRAY: // 16 - string[] { std::vector v; data >> v; @@ -98,15 +98,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 21: // bool[] - { - std::vector v; - //data >> v; - push_bool_table(L, v); - break; - } - - case 22: // uchar + case Tango::DEV_UCHAR: // 22 - uchar { unsigned char v; // data >> v; @@ -114,15 +106,15 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 23: // long64 + case Tango::DEV_LONG64: // 23 - long64 push_cmd_number(L, data); break; - case 24: // ulong64 + case Tango::DEV_ULONG64: // 24 - ulong64 push_cmd_number(L, data); break; - case 25: // long64[] + case Tango::DEVVAR_LONG64ARRAY: // 25 - long64[] { std::vector v; data >> v; @@ -130,7 +122,7 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 26: // ulong64[] + case Tango::DEVVAR_ULONG64ARRAY: // 26 - ulong64[] { std::vector v; data >> v; @@ -138,18 +130,23 @@ void unpack_cmd_data(lua_State* L, Tango::DeviceData data, long type) break; } - case 27: // int + case Tango::DEV_INT: // 27 - int push_cmd_number(L, data); break; - case 17: // longstring[] ??? - case 18: // doublestring[] ??? - case 19: // DevState - case 28: // DevEncoded + case Tango::DEVVAR_LONGSTRINGARRAY: // 17 - longstring[] ??? + case Tango::DEVVAR_DOUBLESTRINGARRAY: // 18 - doublestring[] ??? + case Tango::DEV_STATE: // 19 - DevState + case Tango::DEVVAR_BOOLEANARRAY: // 21 - bool[] - cannot insert std::vector to DeviceData + case Tango::DEV_ENCODED: // 28 - DevEncoded + case Tango::DEV_ENUM: // 29 - DevEnum + case Tango::DEV_PIPE_BLOB: // 30 - DevPipeBlob + case Tango::DEVVAR_STATEARRAY: // 31 - DevState[] LUT_LOG(WARNING, "Command type conversion not implemented yet: %d", type); lua_pushnil(L); break; + case Tango::DATA_TYPE_UNKNOWN: // 32 - unknown default: LUT_LOG(ERROR, "Unknown type: %d", type); lua_pushnil(L); @@ -185,161 +182,164 @@ Tango::DeviceData pack_cmd_data(lua_State* L, int idx, long type) Tango::DeviceData data; switch(type) { - case 0: // void + case Tango::DEV_VOID: // 0 - void break; - case 1: // bool + case Tango::DEV_BOOLEAN: // 1 - bool { Tango::DevBoolean v = lua_toboolean(L, idx); data << v; break; } - case 2: // short + case Tango::DEV_SHORT: // 2 - short { Tango::DevShort v = luaL_checknumber(L, idx); data << v; break; } - case 3: // long + case Tango::DEV_LONG: // 3 - long { Tango::DevLong v = luaL_checknumber(L, idx); data << v; break; } - case 4: // float + case Tango::DEV_FLOAT: // 4 - float { Tango::DevFloat v = luaL_checknumber(L, idx); data << v; break; } - case 5: // double + case Tango::DEV_DOUBLE: // 5 - double { Tango::DevDouble v = luaL_checknumber(L, idx); data << v; break; } - case 6: // ushort + case Tango::DEV_USHORT: // 6 - ushort { Tango::DevUShort v = luaL_checknumber(L, idx); data << v; break; } - case 7: // ulong + case Tango::DEV_ULONG: // 7 - ulong { Tango::DevULong v = luaL_checknumber(L, idx); data << v; break; } - case 8: // string - case 9: // char[] - case 20: // const string + case Tango::DEV_STRING: // 8 - string + case Tango::DEVVAR_CHARARRAY: // 9 - char[] + case Tango::CONST_DEV_STRING: // 20 - const string { const char* v = luaL_checkstring(L, idx); data << v; break; } - case 10: // short[] + case Tango::DEVVAR_SHORTARRAY: // 10 - short[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 11: // long[] + case Tango::DEVVAR_LONGARRAY: // 11 - long[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 12: // float[] + case Tango::DEVVAR_FLOATARRAY: // 12 - float[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 13: // double[] + case Tango::DEVVAR_DOUBLEARRAY: // 13 - double[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 14: // ushort[] + case Tango::DEVVAR_USHORTARRAY: // 14 - ushort[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 15: // ulong[] + case Tango::DEVVAR_ULONGARRAY: // 15 - ulong[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 16: // string[] + case Tango::DEVVAR_STRINGARRAY: // 16 - string[] { std::vector v = pop_string_table(L, idx); data << v; break; } - case 23: // long64 + case Tango::DEV_LONG64: // 23 - long64 { Tango::DevLong64 v = luaL_checknumber(L, idx); data << v; break; } - case 24: // ulong64 + case Tango::DEV_ULONG64: // 24 - ulong64 { Tango::DevULong64 v = luaL_checknumber(L, idx); data << v; break; } - case 25: // long64[] + case Tango::DEVVAR_LONG64ARRAY: // 25 - long64[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 26: // ulong64[] + case Tango::DEVVAR_ULONG64ARRAY: // 26 - ulong64[] { std::vector v = pop_number_table(L, idx); data << v; break; } - case 27: // int + case Tango::DEV_INT: // 27 - int { int v = luaL_checknumber(L, idx); data << v; break; } - - case 17: // longstring[] ??? - case 18: // doublestring[] ??? - case 19: // DevState - case 21: // bool[] - cannot insert std::vector to DeviceData - case 22: // uchar - case 28: // DevEncoded + case Tango::DEVVAR_LONGSTRINGARRAY: // 17 - longstring[] ??? + case Tango::DEVVAR_DOUBLESTRINGARRAY: // 18 - doublestring[] ??? + case Tango::DEV_STATE: // 19 - DevState + case Tango::DEVVAR_BOOLEANARRAY: // 21 - bool[] - cannot insert std::vector to DeviceData + case Tango::DEV_UCHAR: // 22 - uchar + case Tango::DEV_ENCODED: // 28 - DevEncoded + case Tango::DEV_ENUM: // 29 - DevEnum + case Tango::DEV_PIPE_BLOB: // 30 - DevPipeBlob + case Tango::DEVVAR_STATEARRAY: // 31 - DevState[] LUT_LOG(WARNING, "Command input argument type not implemented yet: %d", type); break; + case Tango::DATA_TYPE_UNKNOWN: // 32 - unknown default: LUT_LOG(ERROR, "Command input argument type is unknown: %d", type); }