Serial Wombat Arduino Library

Loading...
Searching...
No Matches
SerialWombatErrors.h
Go to the documentation of this file.
1/*
2 Copyright 2020-2025 Broadwell Consulting Inc.
3
4 Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10
11 The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21*/
22#ifndef _SERIAL_WOMBAT_ERROR_
23#define _SERIAL_WOMBAT_ERROR_
24 typedef enum {
25 SW_ERROR_UNNUMBERED_ERROR = 32767,
26 SW_ERROR_PINS_MUST_BE_ON_SAME_PORT = 1,
27 SW_ERROR_ASCII_NUMBER_TOO_BIG_16 = 2,
28 SW_ERROR_UNKNOWN_PIN_MODE = 3,
29 SW_ERROR_RESET_STRING_INCORRECT = 4,
30 SW_ERROR_INVALID_COMMAND = 5,
31 SW_ERROR_INSUFFICIENT_SPACE = 6,
32 SW_ERROR_WUB_COUNT_GT_4 = 7,
33 SW_ERROR_WUB_INVALID_ADDRESS = 8,
34 SW_ERROR_WUB_CONTINUE_OUTOFBOUNDS = 9,
35 SW_ERROR_RF_ODD_ADDRESS = 10,
36 SW_ERROR_FLASH_WRITE_INVALID_ADDRESS = 11,
37 SW_ERROR_INVALID_PIN_COMMAND = 12,
38 SW_ERROR_PIN_CONFIG_WRONG_ORDER = 13,
39 SW_ERROR_WS2812_INDEX_GT_LEDS = 14,
40 SW_ERROR_PIN_NOT_CAPABLE = 15,
41 SW_ERROR_HW_RESOURCE_IN_USE = 16,
42 SW_ERROR_INVALID_PARAMETER_3 = 17,
43 SW_ERROR_INVALID_PARAMETER_4 = 18,
44 SW_ERROR_INVALID_PARAMETER_5 = 19,
45 SW_ERROR_INVALID_PARAMETER_6 = 20,
46 SW_ERROR_INVALID_PARAMETER_7 = 21,
47 SW_ERROR_PIN_NUMBER_TOO_HIGH = 22,
48 SW_ERROR_PIN_IS_COMM_INTERFACE = 23,
49 SW_ERROR_ANALOG_CAL_WRONG_UNLOCK = 24,
50 SW_ERROR_2ND_INF_WRONG_UNLOCK = 25,
51 SW_ERROR_2ND_INF_UNAVAILABLE = 26,
52 SW_ERROR_UART_NOT_INITIALIZED = 27,
53 SW_ERROR_CMD_BYTE_1 = 28,
54 SW_ERROR_CMD_BYTE_2 = 29,
55 SW_ERROR_CMD_BYTE_3 = 30,
56 SW_ERROR_CMD_BYTE_4 = 31,
57 SW_ERROR_CMD_BYTE_5 = 32,
58 SW_ERROR_CMD_BYTE_6 = 33,
59 SW_ERROR_CMD_BYTE_7 = 34,
60 SW_ERROR_CMD_UNSUPPORTED_BAUD_RATE = 35,
61 SW_ERROR_QUEUE_RESULT_INSUFFICIENT_USER_SPACE = 36,
62 SW_ERROR_QUEUE_RESULT_UNALIGNED_ADDRESS = 37,
63 SW_ERROR_QUEUE_RESULT_INVALID_QUEUE = 38,
64 SW_ERROR_QUEUE_RESULT_FULL = 39,
65 SW_ERROR_QUEUE_RESULT_EMPTY = 40,
66 SW_ERROR_DATA_NOT_AVAILABLE = 41,
67 SW_ERROR_TM1637_WRONG_MODE = 42,
68 SW_ERROR_RUB_INVALID_ADDRESS = 43,
69 SW_ERROR_UNKNOWN_OUTPUTSCALE_COMMAND = 44,
70 SW_ERROR_UNKNOWN_INPUT_PROCESS_COMMAND = 45,
71 SW_ERROR_PULSE_ON_CHANGE_ENTRY_OUT_OF_RANGE = 46,
72 SW_ERROR_PULSE_ON_CHANGE_UNKNOWN_MODE = 47,
73 SW_ERROR_LESS_THAN_8_BYTES_RETURNED = 48,
74 SW_ERROR_REENTRANCY_NOT_SUPPORTED = 49,
75 SW_ERROR_CLASS_INIITALIZATION_ERROR = 50,
76 SW_ERROR_WRONG_CHIP_TYPE = 51,
77 SW_ERROR_WRONG_CHIP_FIRMWARE_VERSION = 52,
78}SW_ERROR_t;
79
80#endif
SW_ERROR_t
SW_ERROR_t
Definition SerialWombatErrors.h:24
SW_ERROR_WRONG_CHIP_FIRMWARE_VERSION
@ SW_ERROR_WRONG_CHIP_FIRMWARE_VERSION
(#52) The Firmware version of the firmware didn't match what was expected by the host.
Definition SerialWombatErrors.h:77
SW_ERROR_UNKNOWN_INPUT_PROCESS_COMMAND
@ SW_ERROR_UNKNOWN_INPUT_PROCESS_COMMAND
(#45) The command index for an inputProcess command is not supported on this firmware
Definition SerialWombatErrors.h:70
SW_ERROR_2ND_INF_WRONG_UNLOCK
@ SW_ERROR_2ND_INF_WRONG_UNLOCK
(#25) The unlock value provided to enable the 2nd interface was incorrect.
Definition SerialWombatErrors.h:50
SW_ERROR_INVALID_PARAMETER_6
@ SW_ERROR_INVALID_PARAMETER_6
(#20) The pin configuration parameter in Byte 6 was invalid
Definition SerialWombatErrors.h:45
SW_ERROR_WS2812_INDEX_GT_LEDS
@ SW_ERROR_WS2812_INDEX_GT_LEDS
(#14) The command references an index that is greater or equal to the number of leds
Definition SerialWombatErrors.h:39
SW_ERROR_CMD_BYTE_3
@ SW_ERROR_CMD_BYTE_3
(#30) Byte 3 of the command was invalid
Definition SerialWombatErrors.h:55
SW_ERROR_INVALID_PARAMETER_7
@ SW_ERROR_INVALID_PARAMETER_7
(#21) The pin configuration parameter in Byte 7 was invalid
Definition SerialWombatErrors.h:46
SW_ERROR_CMD_BYTE_4
@ SW_ERROR_CMD_BYTE_4
(#31) Byte 4 of the command was invalid
Definition SerialWombatErrors.h:56
SW_ERROR_LESS_THAN_8_BYTES_RETURNED
@ SW_ERROR_LESS_THAN_8_BYTES_RETURNED
(#48) The Serial Wombat Chip returned less than 8 bytes (Used at host level, not firmware)
Definition SerialWombatErrors.h:73
SW_ERROR_PIN_NUMBER_TOO_HIGH
@ SW_ERROR_PIN_NUMBER_TOO_HIGH
(#22) The pin number indicated was greater than the greatest avaialable pin
Definition SerialWombatErrors.h:47
SW_ERROR_WUB_INVALID_ADDRESS
@ SW_ERROR_WUB_INVALID_ADDRESS
(#8) An attempt to write to a user buffer address outside the user buffer was attempted.
Definition SerialWombatErrors.h:33
SW_ERROR_RUB_INVALID_ADDRESS
@ SW_ERROR_RUB_INVALID_ADDRESS
(#43) An attempt to read user buffer address outside the user buffer was attempted.
Definition SerialWombatErrors.h:68
SW_ERROR_CMD_BYTE_1
@ SW_ERROR_CMD_BYTE_1
(#28) Byte 1 of the command was invalid
Definition SerialWombatErrors.h:53
SW_ERROR_HW_RESOURCE_IN_USE
@ SW_ERROR_HW_RESOURCE_IN_USE
(#16) The requested hardware or software resource in use has already been exclusively claimed by anot...
Definition SerialWombatErrors.h:41
SW_ERROR_WUB_COUNT_GT_4
@ SW_ERROR_WUB_COUNT_GT_4
(#7) A count greater than 4 was provided as a number of bytes to write to count user buffer
Definition SerialWombatErrors.h:32
SW_ERROR_PULSE_ON_CHANGE_ENTRY_OUT_OF_RANGE
@ SW_ERROR_PULSE_ON_CHANGE_ENTRY_OUT_OF_RANGE
(#46) The pulse on change entry number exceeded the number of entries
Definition SerialWombatErrors.h:71
SW_ERROR_QUEUE_RESULT_INSUFFICIENT_USER_SPACE
@ SW_ERROR_QUEUE_RESULT_INSUFFICIENT_USER_SPACE
(#36)
Definition SerialWombatErrors.h:61
SW_ERROR_UNKNOWN_PIN_MODE
@ SW_ERROR_UNKNOWN_PIN_MODE
(#3) A Pin mode was indicated that is not avaialble on this model or version of Serial Wombat chip
Definition SerialWombatErrors.h:28
SW_ERROR_INSUFFICIENT_SPACE
@ SW_ERROR_INSUFFICIENT_SPACE
(#6) There was not sufficient space in the queue or user area to complete the command.
Definition SerialWombatErrors.h:31
SW_ERROR_INVALID_PARAMETER_3
@ SW_ERROR_INVALID_PARAMETER_3
(#17) The pin configuration parameter in Byte 3 was invalid
Definition SerialWombatErrors.h:42
SW_ERROR_CMD_BYTE_5
@ SW_ERROR_CMD_BYTE_5
(#32) Byte 5 of the command was invalid
Definition SerialWombatErrors.h:57
SW_ERROR_PIN_NOT_CAPABLE
@ SW_ERROR_PIN_NOT_CAPABLE
(#15) The commanded pin does not have the hardware support to perform the commanded pin mode
Definition SerialWombatErrors.h:40
SW_ERROR_ASCII_NUMBER_TOO_BIG_16
@ SW_ERROR_ASCII_NUMBER_TOO_BIG_16
(#2) A number bigger than 65535 was provided to convert to a 16 bit value
Definition SerialWombatErrors.h:27
SW_ERROR_QUEUE_RESULT_UNALIGNED_ADDRESS
@ SW_ERROR_QUEUE_RESULT_UNALIGNED_ADDRESS
(#37)
Definition SerialWombatErrors.h:62
SW_ERROR_WRONG_CHIP_TYPE
@ SW_ERROR_WRONG_CHIP_TYPE
(#51) The chip type (04, 08, 18, etc) wasn't what was expected
Definition SerialWombatErrors.h:76
SW_ERROR_RF_ODD_ADDRESS
@ SW_ERROR_RF_ODD_ADDRESS
(#10) Addresses Read From Flash must be even.
Definition SerialWombatErrors.h:35
SW_ERROR_FLASH_WRITE_INVALID_ADDRESS
@ SW_ERROR_FLASH_WRITE_INVALID_ADDRESS
(#11) An attempt to write or erase flash was made to a protected or non-existant area
Definition SerialWombatErrors.h:36
SW_ERROR_UNKNOWN_OUTPUTSCALE_COMMAND
@ SW_ERROR_UNKNOWN_OUTPUTSCALE_COMMAND
(#44) The command index for an output scaling command is not supported on this firmware
Definition SerialWombatErrors.h:69
SW_ERROR_CMD_UNSUPPORTED_BAUD_RATE
@ SW_ERROR_CMD_UNSUPPORTED_BAUD_RATE
(#35) invalid baud rate enumeration
Definition SerialWombatErrors.h:60
SW_ERROR_QUEUE_RESULT_INVALID_QUEUE
@ SW_ERROR_QUEUE_RESULT_INVALID_QUEUE
(#38)
Definition SerialWombatErrors.h:63
SW_ERROR_UART_NOT_INITIALIZED
@ SW_ERROR_UART_NOT_INITIALIZED
(#27) A UART operation was requested but the UART was not intialized
Definition SerialWombatErrors.h:52
SW_ERROR_CMD_BYTE_7
@ SW_ERROR_CMD_BYTE_7
(#34) Byte 7 of the command was invalid
Definition SerialWombatErrors.h:59
SW_ERROR_QUEUE_RESULT_EMPTY
@ SW_ERROR_QUEUE_RESULT_EMPTY
(#40)
Definition SerialWombatErrors.h:65
SW_ERROR_PINS_MUST_BE_ON_SAME_PORT
@ SW_ERROR_PINS_MUST_BE_ON_SAME_PORT
(#1) Pins must be on the same microcontroller part (e.g. PORTA, PORTB, etc.). See datasheet of micro ...
Definition SerialWombatErrors.h:26
SW_ERROR_DATA_NOT_AVAILABLE
@ SW_ERROR_DATA_NOT_AVAILABLE
(#41)
Definition SerialWombatErrors.h:66
SW_ERROR_INVALID_COMMAND
@ SW_ERROR_INVALID_COMMAND
(#5) The first byte of a received packet does not correspond with a command supported by this model o...
Definition SerialWombatErrors.h:30
SW_ERROR_REENTRANCY_NOT_SUPPORTED
@ SW_ERROR_REENTRANCY_NOT_SUPPORTED
(#49) The library was used in an unsupported manner, such as calling a communication command from an ...
Definition SerialWombatErrors.h:74
SW_ERROR_INVALID_PIN_COMMAND
@ SW_ERROR_INVALID_PIN_COMMAND
(#12) The pin command 0xC1, 0xC2, etc is not suported by this pin mode (May vary by model)
Definition SerialWombatErrors.h:37
SW_ERROR_RESET_STRING_INCORRECT
@ SW_ERROR_RESET_STRING_INCORRECT
(#4) A Packet starting with 'R' was received but didn't have the correct following bytes to cause a r...
Definition SerialWombatErrors.h:29
SW_ERROR_ANALOG_CAL_WRONG_UNLOCK
@ SW_ERROR_ANALOG_CAL_WRONG_UNLOCK
(#24) The unlock value provided to write analog calibration was incorrect.
Definition SerialWombatErrors.h:49
SW_ERROR_QUEUE_RESULT_FULL
@ SW_ERROR_QUEUE_RESULT_FULL
(#39)
Definition SerialWombatErrors.h:64
SW_ERROR_PIN_IS_COMM_INTERFACE
@ SW_ERROR_PIN_IS_COMM_INTERFACE
(#23) The pin number indicated is currently being used for Serial Wombat protocol communicaitons
Definition SerialWombatErrors.h:48
SW_ERROR_CMD_BYTE_6
@ SW_ERROR_CMD_BYTE_6
(#33) Byte 6 of the command was invalid
Definition SerialWombatErrors.h:58
SW_ERROR_CLASS_INIITALIZATION_ERROR
@ SW_ERROR_CLASS_INIITALIZATION_ERROR
(#50) An error occured during initalization of a class on the host
Definition SerialWombatErrors.h:75
SW_ERROR_WUB_CONTINUE_OUTOFBOUNDS
@ SW_ERROR_WUB_CONTINUE_OUTOFBOUNDS
(#9) A call to Write User Buffer Continue would have written out of bounds.
Definition SerialWombatErrors.h:34
SW_ERROR_INVALID_PARAMETER_4
@ SW_ERROR_INVALID_PARAMETER_4
(#18) The pin configuration parameter in Byte 4 was invalid
Definition SerialWombatErrors.h:43
SW_ERROR_PIN_CONFIG_WRONG_ORDER
@ SW_ERROR_PIN_CONFIG_WRONG_ORDER
(#13) The called pin command 0xC1, 0xC2 was called before other required prior commands (e....
Definition SerialWombatErrors.h:38
SW_ERROR_CMD_BYTE_2
@ SW_ERROR_CMD_BYTE_2
(#29) Byte 2 of the command was invalid
Definition SerialWombatErrors.h:54
SW_ERROR_TM1637_WRONG_MODE
@ SW_ERROR_TM1637_WRONG_MODE
(#42) The TM1637 pin is configured for the wrong TM1637 mode to process the command
Definition SerialWombatErrors.h:67
SW_ERROR_2ND_INF_UNAVAILABLE
@ SW_ERROR_2ND_INF_UNAVAILABLE
(#26) The 2nd interface hardware was not avaialble to claim
Definition SerialWombatErrors.h:51
SW_ERROR_UNNUMBERED_ERROR
@ SW_ERROR_UNNUMBERED_ERROR
(#32767)
Definition SerialWombatErrors.h:25
SW_ERROR_PULSE_ON_CHANGE_UNKNOWN_MODE
@ SW_ERROR_PULSE_ON_CHANGE_UNKNOWN_MODE
(#47) The pulse on change Mode requested is unknown
Definition SerialWombatErrors.h:72
SW_ERROR_INVALID_PARAMETER_5
@ SW_ERROR_INVALID_PARAMETER_5
(#19) The pin configuration parameter in Byte 5 was invalid
Definition SerialWombatErrors.h:44