diff --git a/source/+DeviceMode/HTAccelerometer.m b/source/+DeviceMode/HTAccelerometer.m new file mode 100644 index 0000000000000000000000000000000000000000..6808afdbb515f11f0f8793c48f921b57d98d4e79 --- /dev/null +++ b/source/+DeviceMode/HTAccelerometer.m @@ -0,0 +1,7 @@ +classdef HTAccelerometer < uint8 + enumeration + Acceleration (0) + AccelerationAllAxes (1) + end +end + diff --git a/source/+DeviceMode/HTColor.m b/source/+DeviceMode/HTColor.m new file mode 100644 index 0000000000000000000000000000000000000000..bbd2aca4a3d8612371745546ba7e941eebfefe39 --- /dev/null +++ b/source/+DeviceMode/HTColor.m @@ -0,0 +1,12 @@ +classdef HTColor < uint8 + enumeration + Col (0) + Red (1) + Green (2) + Blue (3) + White (4) + Raw (5) + Nrm (6) + All (7) + end +end \ No newline at end of file diff --git a/source/+DeviceMode/HTCompass.m b/source/+DeviceMode/HTCompass.m new file mode 100644 index 0000000000000000000000000000000000000000..1ed8055ee502da8633456372e9d3792d9ed923ef --- /dev/null +++ b/source/+DeviceMode/HTCompass.m @@ -0,0 +1,6 @@ +classdef HTCompass < uint8 + enumeration + Degrees (0) + end +end + diff --git a/source/DeviceMode.m b/source/DeviceMode.m index 146666fcae37a1cfad442d497edc0bbca9a104f9..a66536f6af7a31a9bc94813cb63420cf4c898720 100755 --- a/source/DeviceMode.m +++ b/source/DeviceMode.m @@ -34,6 +34,12 @@ function mode = DeviceMode(type, modeNo) mode = DeviceMode.Gyro(modeNo); case DeviceType.InfraRed mode = DeviceMode.InfraRed(modeNo); + case DeviceType.HTColor + mode = DeviceMode.HTColor(modeNo); + case DeviceType.HTCompass + mode = DeviceMode.HTCompass(modeNo); + case DeviceType.HTAccelerometer + mode = DeviceMode.HTAccelerometer(modeNo); otherwise mode = DeviceMode.Default.Undefined; % Need to think about this... end diff --git a/source/DeviceType.m b/source/DeviceType.m index 4afa3f9cd8d3f47da56a69dff63cb8ce5aaeef6c..1fb6e75590cf72fb5b587e38344de8d8b1400df3 100644 --- a/source/DeviceType.m +++ b/source/DeviceType.m @@ -13,6 +13,9 @@ classdef DeviceType < uint8 UltraSonic (30) Gyro (32) InfraRed (33) + HTColor (54) + HTCompass (56) + HTAccelerometer (58) Unknown (125) None (126) Error (127) diff --git a/source/private/isModeValid.m b/source/private/isModeValid.m index debc72a9bd4a9687e418b51490f00f387e743b6e..1bec154a662a1d0acf7804b69014a689949fd97f 100755 --- a/source/private/isModeValid.m +++ b/source/private/isModeValid.m @@ -59,6 +59,18 @@ function isValid = isModeValid(mode, type) if ~strcmp(class(mode), 'DeviceMode.InfraRed') isValid = false; end + case DeviceType.HTColor + if ~strcmp(class(mode), 'DeviceMode.HTColor') + isValid = false; + end + case DeviceType.HTCompass + if ~strcmp(class(mode), 'DeviceMode.HTCompass') + isValid = false; + end + case DeviceType.HTAccelerometer + if ~strcmp(class(mode), 'DeviceMode.HTAccelerometer') + isValid = false; + end otherwise isValid = false; end diff --git a/typedata.ods b/typedata.ods index 1a573c687ac47d297f1673388f58e428095cfc15..95323d3b03637ef0ecf89a9e9eb583304d2e3ea8 100644 Binary files a/typedata.ods and b/typedata.ods differ