UserDefinedSerial device adapter

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14119 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Unit tests for string escaping

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14120 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Fix issue in escaping null character

(Using just a backslash followed by a single 0 digit can result in
incorrect encoding if the next byte happens to be a digit. So use the
normal 2-digit hex escape instead.)

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14121 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Refactor and fix string escape parsing

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14122 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: More escape parsing tests

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14123 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Tests for bytes in 8-bit range

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14124 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Add human-readable error messages

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14125 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Add to Windows build

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14126 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Fix VC++ warnings

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14127 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Fix binary response timeout

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14128 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Fix 'ignore response'; refactor

Also add extra checks for settings in fixed-byte-count response mode.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14129 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Add var length binary response mode

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14130 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Catch an unlikely exception

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14131 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Put ResponseDetector in separate file

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14132 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Put string escape functions in new file

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14133 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Move string constants

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14134 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
UserDefinedSerial: Use shorter device names

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14135 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
ASIdiSPIM: missed this shortcut function before which was causing an int preference to get saved as float instead

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14136 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd