annies-1847 / Installation-05-22

0 stars 0 forks source link

Automate Arduino connection #1

Open mhamilt opened 2 years ago

mhamilt commented 2 years ago

Here we can discuss the particulars of getting the Arduinos to automatically connect to the max patch. Any other issues that crop up along the way we can flag in separate threads

There are 2 sides to this, the Arduino side and the Max side. I’ll start a checklist, but it is very much subject to change and growth.

mhamilt commented 2 years ago

Send Unique Message from Arduino

As far as I can see, there are 4 items

One simple solution would be to create an enum for this "ItemType" and send it out. This means each device will have a slightly different firmware flashed to it.

e.g.

https://github.com/annies-1847/Installation-05-22/blob/d86dd89a700d5ef7627493cefbb1e31f7e90d606/arduino/imu_serial/imu_serial.ino#L20-L38

In this case

enum ItemType{Toothbrush, HairBrush, MouthWash, Soap};

it implicitly means

mhamilt commented 2 years ago

Parse Serial Connections in Max

Get total number of connected devices

Before you can start automatically connecting, you first have to know how many devices are connected. The only way I can see to start with this is polling the serial object with a print message


----------begin_max5_patcher----------
1262.3ocwXsziaaCD9r8uBAc1wfOkHaO0lBjSonGJJPQavBYYtNJPRzPRN6t
IH+26vQOrrWYuzaTP2CZkH4vY99lGbn+5xEgarOZpCC9of+IXwhutbwBbH2.
K59dQXQxio4I03xBKL00I6LgqZmqw7XCN9O+uUv5BRyMItWdHqbq8g9UkmUZ
RsGJwkx5Fbeko1T1jzjYKuaxUTdnHqL2zTOdvrsn9ra9zaDxdEbusroN6KF2
TT9ZxwMvdnoeGnci1NTyS6Ms.OLL3Ci1mxjBbhveoJKIuWC6SZR+XV4t6pLo
MsxQ470xUAJ5ZlHhyzJBWn4QQQqfojfQDvUqIAevsAea4R2iUdxxo1hBfadF
K+6GJ1XpBr2GjZKAFqwrM32LeNKEbhSQZzIHMQ3jrC4x.Uqc3jgDa.MR69Gi
7Jg1kBf3g950oguV26DXSfNpNrII3GrWIzZr61ka70QvUGispfXtFS0clxjM
4lwtCOwXlKy4JvTpPemXMWFK35HcDgQzhX.sBDyhWIlKMO.f4YdS.NU1.JgP
70sxuU25ljxcdfYgZshPUJQrPGKi4DH8rKDlMuX9K4qyMkdiW9z3kcwv3UuP
nbbD5ii0qYTBkHHDkNRvYLnPT7OB.WA1nIXuspwaPKlrhM6BUr8jKtop1crj
HdsTvEbEiFIzZJEXoH12EKcoJa6qxJ8mgjyY0s1TfoNghy9QDQTaFy9uXEvn
aLE.4QufLEJnGoIwwBkLlwIDI+hYA3tg8nbVmP3t6F+Thn1dnJs2j5KcEPFL
psl5lrRrulQKx0rxnEYq1ZpvB8Sx9dqZoGp1wyAWxO6slD9nI9bnIm4ReIMI
lCM4iiieAGG86S0JeTMcN.I2mnSZKm+rzhj86+ropta0nRfJAexhTfZE9YVY
6mXJdXEzOZ+543HIUPRZCjgdnpsF8iQsmCDVXAxr7PVGeBvCTYcyS4mmJNTd
+8umPu6ONTsuuQK.P2mbHu4TVvcjv8I87vQzWaxA6.rtTadqQCytFZWmocss
6pO.8.xDZpF+bPPWINTl6xJcDR2NiRbxiSqM0dulQpJRt5rmJ8yUxKt4a1ce
Vd9vZWLfbXS5pWFtqJYa1waQrHDWNs2RXPGBLDttGRpPyNQGcqmcjjfhpGEf
oDZBcJIFT.LuiUIq4D3nGQ6avPmKEzHWaSurXRem.t6GZcsVzEIAhpwIvXjy
6f.3JxH1IIMEv8IFSLWRYsjNMJ18B3hYT4oz5ohnXJWX.7FzNkjhBo0Lm3iE
BBoJNWcBAmnP0vzbFAkMVBcZPO2OdVf3k43kGAu6FCfFwDEzU2mCzNaA7ZV+
YKiKYLjEU7zas17+7ifg6eVDcNi93wQhXjV3JAmhAGhqF+4c3z+iAgrWxQ4s
GpsAqeM+f4Mzq4hlHTmScbaarND+fgS5N5lN2FXk8gxa1BOZWPyYv6qFEPL2
V3aeJ41MPBSKEXTSbLmyPxDto.jbN+F36pLlWgEhrG28m6MZjJhEO+F2eaxy
sObcq644.RMb2yqUMVwjTjTiUTEVE.jQJjyJ.veqr2Yy2dyjqKTjfteo6LBz
RoiKZLKF39jRS9ekYg63bM6ymhssyNYAP9PFFX+jXEVn0ErfMevNqr4P8YwP
Jp.VqP1JFiK4ySQZeK2Nr9CM1giT5u1Taqp2nmnsuV7prNWQ89tC3va7t7aK
+OPDm1vE
-----------end_max5_patcher-----------

This is a little messy as it forces a clear of the max window, otherwise it will just endlessly print

keep polling until all devices connected

For this you will need to set a variable of how many devices should be connected. Once the total number is equal to th required number, then you can stop polling


----------begin_max5_patcher----------
1451.3ocwY08iaZDD+Y6+JPzWcP6reusO0lJkmRUenpRUoQQb1bWHBCV.N2c
IJ+u2YGL9CL1FelSkGvvt6ryL+lOW72mNI7thmRpBC94fODLYx2mNYBMjefI
adeR3x3mlmEWQKKbYRUU7CIgyZlqN4oZZ7e4eKw0ELOKI1+vio4KJdrcUYo4
IyKVmSKkuYv70KSyyRpq1evzEztUb2WdiT0R98E40UoeKwOEHhX61fh00s6.
rYzlgpedURiZEFF7w81m73kzDg+ZYZbVKGVEWO+yo4O7oxj40MzAfKRMKPf+
vlgrU4+QXiXAezSyOlN0ea1.gs4EKWlf5eWXSFTWTGmErH4qoyQKQeXCbL1v
0g8BBrynOJRQ3VSDCu.IXUNlRpLyBrjxwYuPk6T9DxvAZp4x9L0n73rLmP6X
bmgY.6K0v2GbvcQVmyI4BqUAfVh3fChLFmVCLP6jNP5PTowMfOxF9eJ3OVu7
tjxfe+5r7foWnBhDbi0wUNiRXjV3pcOrLuOPeH.Xkju+X6dTUGWVOTWDPDNh
VeEiBBXXPNm43VmdVPS7g2PiFc9HqqvfCEdsUSqkTPxqdzUS1PUSCLl5o1bb
rr.TQN5xnAkEjb3lU67jGQg+HsdYRcYQ.vFr1qcWo1eWb9CWskFDPjFuLJoz
JAiVKmEnE2j+8IPfpjrfAmsWehhW7yp8ytTBcPdrSPuU6DxWCH3aYQYI4CEC
jhqDCtn92mG.WwiTfSH7w.BLot.SmKLuFpeIJwIAqJFdFcIq2963mn+tAhLW
UOdHlgQsLE51nzFIHkdfQGYUbsQ3zVqSY4HloecpJrpLMev3E+Uuz.fIGvls
LZIWZzLA2Jt4BhmLgw9llK0zi6JCVHT8k..NQS5Bll4znOf4jgKzVSGroywm
HV4G+PPopXc47V4qsgl.1VIbQRUcZdbcZQ9dKx2X7dKpnbQRI0HWuVhgxZDN
CfKvYezYvoL4CkQ9p7WTG8EC2aQKSWrp.MfafUiIRbToccy4UHKyAufKv+C1
Jm5HaqepaTe5HpmvlwGAjqE9OuMRLBbpUbOKmbiAitBegahQCKxp+.K31rZC
gy91etYcrcSNKm5D9MRJ4fXs+i2L9It5jN7L3KzSx53Uq9ZRY0lUSLAqU8kB
Rvnus.l7Iu4UpHTXId1710KnQhKw5H0XQj0kMsX7jtou2vkEnJluNcC.ipGx
xp5my5VfXa2Iu+8L3S+45xUYa5L.Un6iWmUeHJ36n493VbXm1i8bixAJcyKx
ZDZb1HPn3T5NedPrDGGODuidcKg9hvDMeJM2CHa1YhhCtcX4ylOh2drRql04
t0cLSt3le2C2mlkscsS1p43lrojd3CkwKR28YTlDRKGZkDNSx3j55uo.oie.
O1rd9NPB.wNB3VoiA8QwVFfy6QUVjf4rLYyS3PcoBOoRVyWjwvZajEwuxBem
wa7jPRczDjOR2FfQrhsG5DOeNp2GHLFgB3MfNnM9GPSLGTGBqGRhka8tA3SX
yMJfHx43dx2mHzkZYW1IkBlkXC2I3LhViRi9UcsicbDOMFOcmxi9VkHGo.Ex
T2FCzL6R7wz1DG6mxXaTzxmeaQQ1e8YTvGdTDLldeBrgYCAKBqT.jyg7r9eC
1c5+QmP9kLTC1B0bDfeKacxafyYh5wUW.FpiOuuN5+PtStMvML1BXYwi4WsD
tStTFtRRwXhWII7sOGe8BHi6TRxqwXDBNAlVNfAmiu.9txjjWfDRnmve4eBz
VM2L9B2+jjkU734ktiiATNFydtrwVtBHP0XAKkE.oQIUipBP+UAuqHawUCtd
WQFY9U9ZDjjB6mzXTDvUw4IY+cZAdL7yIeCIYayr8l.TrMBCkelwRIZ8NKTy
G7NoM2leVtMDUhqUpZHiKThwII8PS2tc8qqK1VRosm3lVUuRKQSeszGawaJp
Vso.G8MYl9io+GDF2u1H
-----------end_max5_patcher-----------

Skip default serial ports (if any)

There might be some default Serial ports that are always there that you want to skip over. In this case we'll need a variable for the number of ports to skip.


----------begin_max5_patcher----------
1704.3ocwY01aaaDC9yN+JD79pqvQduu8otNf9oNTfMLfgshBEakT0IKYHK2
jzh9eu7NYq3WjsOEKik.XKe5NQxG9Pdjm91MiFea4ioKGG8yQ+SznQe6lQi7
C4FXz5eOZ77jGmlmrzOswEoOTd6mGOo4V0oOV6G9UaFoX07rh7zZ+rw0ClMy
OIZguBDaMyxU0alJrdzlgpeZQZiVMNqfjvGVe2EI0S+TVw8erJcZcyDT5Xi0
ZEH2Xj.nD5IQnwFynurwR5SLlE8A25+9M239XxkYpUQjl+9xp5+3+xVzoYy5
vrgdZ1mzlAFFiRFiAfEYVxbUjcJUzfViUpMZAiokvjHizCDWCH30UyVkUTtL
XH.GTH.DdmqE6vn0WCid4Y86PGFMqailcbKC01CYz.X10NQ90xNqit08enVn
oaCjeLu5sIE2OdxdeeROMmEyX6S1UNSmSnh1ZMFjSiy0RF+Bvi4oKWlbe5A.
BFZtMrMH+txh5kYe0ayfLlK0LghbZjuiakCXXPmjEsNVqQAgHBEBJIHayEpd
gXyzx4ySoLw6iM+TjKZH52R+R1zzkAGUnNBPYnjXVlAPNHDbQeCc3LULODz.
PlOzQbERQbx7hc.F7dmgPf5PyPXunLDGKh3W92JZdQSySSbW7PVwrxG1Lq7r
hzokqJp2NJ4bgNBYmLBdL6kFr3dNEIy82X7qqxRxGepcS7gGbsGu.teWStYf
CVDQ0k0I4Qy5WzBp5MCgBf7VfKd2k4T.FokIERcaIArAlS.AmkTzoq1DCRqx
nboJ0fxLjYI6Lfg70J5OsTHLBPqTh1rj1AOK4uuZ9soU8NOotSnREq3bPw.q
kLFCW16DHRiiCzEB.xF5gbfoGKqSppCtIA9PVpnri5G.aS7wUI8X3gBCZEwc
UmzIJEXnsZVnVsdP6Epq9+nJAis9+zJPZ.ABWqtAmmVWURMjEr0qr8z5OaAx
cxu4vgw1J9Uounz7HQvV+Q1KCOW6B8mCz0debw0.A9ZdbdZQnPff2SH3rleW
D.ThwRvx4tP.tBXbqKt3pbZ.jFmFsnL776BVm6qgGoZu.QldUwGgYTPKSRzF
oRKn1Mb.iJ1HQklSEhPERaPByTWm8HVTkUDLdg3Ue+PJ2.04kVIPgVw3zFFW
71iGMew1tlyUBjsmAKdT8EUP.uIcASwrJhCnOZ3h+Q6ayYuSN0KJ236BJKKW
UMci9s4jvhXsZ3rzk0YEI0YkEaMIWlxH3H.evRRDpjXWpjf.jjWctTaxk+LL
Ico1DFjMwFBIEhehO.Bxz3.Nob1X1WrfvyIHw.Inygb3PPvCg1YF.AYCvEIF
BRmND5sqb0slz7rYKJobrqy7QsWbv4sInROcoM8IO24GzDbeIoBwOH8Kb7Sl
LT6YOU8HTggfKrA9OsOZHhWwP1pvNDBpGbgKyKoBPR6QMKqlkV4KP35KZ2IQ
1knYGTAPxhEeIsZ45k6kJU.zmK8S2Lw+yrhle5qrYbU5Wx1Le+KHYbREUbRM
UYxppl5VeT0zK034kjfKVks1rI6kD4x5mx2upi1Rde26XvGe+ppE4qK2jrv6
RVkWuKr3JS9tjM.yyVJ0GGoGj1MsLuQoo6FCbI5CPcQtTcSnvBV+OaWnqxN+
Z9XVgCPV+j8qXmO1slrlyIdKQojS16Si8Pgb1G9s2eWVdd6bG0Z4zCYcchiu
uJYV1ymT2nw9oCazDjIXn2bceHAgE2QFqmO9LHA.+4EfFgkAcshVAP22gprX
NyZXhlqng1eUT2u4dUF0rMcGQ3WUoqcq0LIZoV+M7bj86px81h2BcRlNkr6c
TFMWBXCnCJs6BxEi9WSxVKb2kXPiiFPWQUL6dmqL2Atftku8hHJ078EmPvYF
uXPKGY90pkJhWsuebOh3ww3ad13ItUEIQefh2UuIFn4tyoKy1DNucNj1nn4O
8lxx7+7SjhGdTDLjrON0El1CKbCs+ombHNI+KX5z+ijP7bNpf8PM8U9q4qRe
EbJWTGTcNn80n335D+wSmrqgaXnUvpxGJ5sF9rdI0Hc8jsHDCsF9lmR5uBxP
qT3YMZMmidvzf.EbN7J3aqRSeAZnG83t+bWAJiB0Cux82o44kObZs6vX.okw
LmJarAkfGT0Fv3yBPqQJjCpA3eaTusLeVuAWGUj4c+R2dDdME1NowfnfKRJR
y+qrx7z5Soegjrs4tcl.j2FgQ5OSa7IZcjEewG3doMayOKZCQEzbExlkgbIe
XRRGZ5114uptrcKkMUp1TpZO8DM005OAOmqX4h0av4Onua99M+.f5oOfl
-----------end_max5_patcher-----------
mhamilt commented 2 years ago

Send a message when all devices are connected

After all of that the final output will probably just be a bang, which can then be used to trigger a further process.


----------begin_max5_patcher----------
1973.3ocwZssiiaiD8Y2eEBZe0i.KdmIOkIKPdJW.1EKvhcCZn1lSOZhrjgj
7zSmf4eOEorU6KxtoZSiwMfstPpppCq5TUQ0+0cyRen9K11zjuK4+kLa1ec2
rY9K4tvrsmOKcU9WVTl25GV5h5UqrUcoy6uWm8Kc9q+qa5VuoK484UOl7zGs
UIKsetXgsMYQcUkcQmc4toTsYUQUosy+7fsWrXo+oT+vmdGWt2Hq2zsanjsW
ccd2hOVT838M3isW00PFYdh.Dtenf+LJIij76to706ty807.svG1z0UWEp1R
YoC5US9Jams4daU9Ck1804CsjcOl9K087ZauYj9.hdoI+94MTpHS3LzdKju6
62jctx11l+n8jUx1t7ltQMe5olOvRmlIFf4wx3DoRYjRf.RCGvKQ8lJ8MZpU
1mPk8DKcS057E+QR6yqRJRJBcEWrafentpqs3O8VF3Tvw.B1YAh4IoEt.o9e
FfE2SsBcj7x6GZJxKSu.fYzY.gPDlsezH9AnKQOBNb04IZws.AKqyW5cZCD6
XlIAdAFnb8PljbJhgW6FfXdMx1j27XanfFLMON5k73hInoGwMSwuEf16BlNh
OQ5nCB8FKyBOSf1MgxzZj1UxkHYDS4MRiirJ1lZSBp4+VcS2+5OJVOpYSFwr
gXxBCfNSiVsD.CkXnZbckQ3YTgQaDJshSHJAbq3T7HvOzrbSQUcavH.MpH.C
N0cmwIi.ApaADz9pNAiQSPlbcSTBbn6MihFCSlIwOJAmq4fRJ42J6rK4g9+B
0F0iah7KlmX9Y98Rd.RQljrWHfAc.3hSKLQbcElbtZvHgR3QgQyMHxXBEgKI
JJ5qxPsOhEoMlSCX3YfBwJMFXPYLtPNvPJeify4Z03ej3BKR9m8MXDb3g7LH
klJjFhFnLfyY7IGCQ0YjffCfRtpB1uDYwE4KGqPrIyUv3lP4JL2jXhu++2fi
KYQoM2cvSEUKqeZ2nJKvlLq2T0sebx5FaK5.k2UTWc+ni30Bu3iW5Eap0q9F
K6BP38j7PbpmKFX9ruLcjit3Ic0c4k65eO39fmdW6.y3IYOLKqqBR7CvAsvP
DbgZnPCRj8nXAyxxG0M.qIVXjZoipUARcLYYGMbCLHWpBYSD.wfbURhXfk0D
cV1eYypGrMSlmUMJVg7DLFHIfwfVilIlL+iZDukQADPz6tHhr6BDr6RLqEcr
JQ.rCjyks8aVoHpn1DxXMdworr90dkDDZfSgaUaXqrcM0IH2anVuzjF485SJ
GYg2EDbb9VI6lzChsLgGr0eF1e5qUX9za9dr7CraxtN7mkYk1pPg.NK8Z1Nl
.c.XDRl.LLlKDfg8gvLNL4lzGNpw1j00guYvbx27MpBwLE5bfYYLBohCbFBL
nKiVPkJFlrFQQMEwL4sows0MEUAiWz3lnXD2E26BAatQI4TtRRXTM6VsY5s1
8WZdspDLSLXY6NkOc.fC8zEDIwHQe.0YCW7OZeiDG8Bw7hxc8CAk15MMK1oe
6HASHCZ3RaaWQku4i8Fj68Es2fpaVZa7V9nqDgJZfEfn08i45DDM.A4AB3Zk
DOTIc01DDfj7py0ZSbVnR5ZsIZP1DIFRJj0IVDDjoeA3hxgGCKREB14p2auA
spX45ZjjZK0gge3dB4qdU42WDN6v1XLlKdKbttao52HfCKFTd9cRJXNKSHbV
zHfp6VZt75WLbTngvQYhgflfex0sJERlkibaGxr.2dQ61lrwDM4pDMKDeSPD
iL.h.jTLDjH.NLZLxz3DD80DDDAAoCg+HBHmNDChGIAAgfbwPPrWKu4orG8k
olud8msMsaGsWFXU5ep1G1om6Osnp+Te42oM1OWra79+oTRyavJn6vxm2zz2
b0Wj8M7mtpFCfq1Trk9.sNTjscOWdbowC8k8y+LAt+21zrtbaOQnA8g7MkcG
BBtd49P9NX3E+lVaIpGn1sntrWow6lALA03dwItLfjLBka.i+zgI5Z+vOm6K
pb.x1mreFG70gMNz+x.1STRw7i9VaNUHu5C+gG+PQY4vXmMX43CYayLoO1ju
r3kcbcVpe3vNMgR3Dp2bceI.tgdfL1Nd5KfD.rWl.UyMDXrYLH.79NTkjwHF
Mg2eDdoimUd0i8+WrQUjcsv6doJ0t8DXqmDNUi+Fdejia8GwJxdnS9hEncef
xnXBf1C5fT4N.Whof3PX8vonoZma.dD1Vm6kvSb6JH0M88mD5Rs5Xww4Lh1K
FpgQI94pDRzu530wibDOOFe2KFu6eAPTh9.E+R8tXf96tBOrXWZw8YLFhhV8
7OVWW9u+Hp3gGEAwz6iojbkGVXZNC7NG7K5+Er6z2PmP5qsPE7JT+le79xM1
2AWZIZDWcF3v1decz+w6NY1B2PrUvl5mplrF9hdITT73464PDaM7GeNe5JHg
ZDbuWiRwXTOXpo.FbFeE7mZr12fF5QOl6i6HPpkTU7Ut+qsrr9oKqcmFCHLD
h9RrwZp.7fpRCZOK.NGAWDUCv+VE+o5xkSFbcthD+xuvkivqov9jFQQAWmWY
K+OE0k1tKoegP11e2QI.YCQXn9STZOQqyYwW7A8HZyA9Y9PHJGGKWzOMJSvh
CIcnzsCieSW8PJkcc70Wp5DWI5qq0uMytkh10aSv42M5695c+MThO3OM
-----------end_max5_patcher-----------

You could then encapsulate this in a subpatch


----------begin_max5_patcher----------
2496.3ocyassiiiaD8Y6uBAkW8Xv6hL4oc2frOsICPVDffIAFx1rcqcjkDjo
mtmcw7umhTWrjsjaIGK2i6FtUyKhUc3oJV71eLel+5zW0G789ydexa1r+X9r
YtjrILq7+m4uO70MwgGbEyOQ+R55eyeQQVF8qFWxYdeLMN9ukl+C4aOFkjVU
fji6iRh0FWkwkIFs0UG387AlpQISOZNunEIY9ZltPH8WGlry26+VlcVnYyyQ
I6Vkq2XJJACujuviwWxPhf.U0G4BOkbIZgGgrD0t957R8sTgm4+TTr9K57CQ
oIMDlY9gYYMRdVipXQoeK08hjKpSB.h7lufY945uDUUeZcpg4fVX.U3XtSO8
eUv7O8ZR2pySNF4dSEI9s4UhjqmIIbu9PV3lhJa6.qx9DtfrJu6KAy8GlDcB
Ift8cwoa9r100fpRLMSmDkjkqOnSLglRAuN6s5mBOFaV8TZh4Pzu6ZdLfuck
+SkhWmYZU.mr+C4Qgw0R+t7nsoIVgnU2fM4pl6SdXtUareeRYbkHILqiJCrN
.S5IyCfRd7v5vbauz5XWKPpxzjlF2Nq55EqexTlcVTRxYnnIMq+Lyi187Up6
5THy8W6c6x4vpiIE4tBHDlUGB+Raz1DFGWZ6190+ZXRz9Pi1DUzEPP0YpSBA
E84CaxAa6V5aQNeoib1BD7M5Wh1Zd10PMICPwixpHQ908xai1oOXZmlIb2g1
obv70BPuQRGWWZ.uxn2mECZQ6Bzx6VSq0ld4Zk907101iGf2ga9r2gut2KxK
pYQ5xm24983MqPOlOW5Uj1HmK7L5uvyOJwT8mZigpVnaard7hRQhkBDBwq8e
BNUwApkH2GJUpjTDOXgmjexqZ0q7aymW8vh6OxGmFt0MLvHwbp5l.c70.8VC
GcOgZq+rygZA5QC0klWg4f03HQa7sQwIuEEeRPaZGD6.1iFs+PuXLoGLl4ea
z1KbPzARonEXBgJkbLVvDK7nJH5JEkPp.JI.TDkMhqGIPk6A55GSyM+yOGk0
Kng5Azv2Hn8lHFlDrjxQHAFqHHEQBAcR4xkRNEvOLQPk1edO7Y5PrxXyOLZD
iLYHFX3cg0HUw5.xBdzP1gAQx5y6GpeHCccLgfQsM7nDqMFdIgqjJdfLfgPA
b76AlX7VW7yXwCY+vA6MGecQO+8sXWfGbLpg4nx5pG4FDkSlDnClF1gvc5Nw
NzX8tSv8NBJG7yDfXBT.AnCTPwlF6yt4hL4xf.BiHoLAAK3Xd8f.h6LftIc+
dsMn1N.z+jm0xz6u5lww3iOQbEzUR3BERhITLiQY2roLUrjOH3CSJhsi8f8u
8lCIzWrz2r6M6.hCz8l5gai9W9O4PY81DqCsO7RTx1zWZVx3nD8lziIlysaG
hAMq+Pho25DP9+LbXfde4.vLYGQ4gotfVnxGnENyyjZBi81dal3DwMyRwfQJ
9BbgHc3BkwAiXf8xX0wxgdfrT5nGIg0KwCTStRHE1gSBvB4TMRR2l8bzRA7I
.PRICGHDr5QRTOzQR96G2uVmeyikDzK9By1jRwBDVo.sVR42reSYGLxNAPLu
fRxefTR7nojS0TJ5LnOX3k9hX465P.Clr4p10r6YAxR+9.BxELNR9dL698ZS
dpMP8whVBk+8ZU75hXwujXACEzNtEBcgmf9vmppN1iMZz5JiNRFxbxtMNVWi
gRe3K01uGuLVmLVHiQ8uWKb4.IXTvWNFCyFwZRRYLLwtJbO748mCZj1KKM2L
ZHC8c4x.CXMAg.jFFVVDvvLvtkBt5XLtTwnHvbVpv.VKd7KTPVdTxnwYxzMf
ZW98DhkvfoJI.WB3WZ.1heOd+dm2UOjn0T2nQb4lqca.lhW31CoXRABBdKXx
ric.vXWiWVvDGPVcbqJkcIdWV7X09sXSysBHzlGJA2AbnLt8larqS1S1pesw
Qh3t.cEZ2XITL4MOOSkKVAXFXKQmOg66Idb5jQXW.id1Rbm3Yyuaf5P5w7MU
85kqoqGskrsUevDkTeNQ9zo8c0anT7aQHvCPHrKl5jJDjgHDrIVHPCQHlPYf
OTf.WzsMYBAdn8FSkPX296A0cvmvtiJKu2THvSoTXmnwfjB1kXVZ91himG58
UzBv8KZjIQzHCTxDSo2UxPkhoTHrSgXX7G5TxhGpsDYJcv1AO75zhFEbez1r
THH1xg+wHR6MmxN8bNkd4R+yIWFA2fKHAKaWPardxhccncHxWVvIBDUCb.hJ
h2zXZwFXO4TRpICkNgmRnnxt8skhoL9ILdLRwjE2vPoEUCcMMRAYLRwTgE14
jNHoP9cQzKx9CQn64jMu4Q422djs2tp33ouJzXxiVezTLWsl2MgQcLp2EmtN
Lt7TbVu.YcbJqmeR3beWfbC4Bgzde0Ns1L+iilriFueLLYm2KOqSp1DWuMoI
IfJp2N36Hhn66HBp+KAhzMsZE1s9JXb6cncjJHzKXRSFpvRpVhXPrxA.2nyW
UbZ4aJx22K6R4Akf09DjLR0r8JR1XM1Lg0q5amqDYqMBkNxqyy.zNQ4M4QHv
HrPw5XkFKUU26p8JbTn4mayWp+W51q0.Q8Ym2HV2Kv3g1RL0.ZIB8hVpPEO6
dHYajyt+Qmc2it7dG0+cN576ajyAUw0u3LXs1gxu7KH7pOdLOKtj+Tc4dZiB
MuFPepg1ePGCxAHcaRiKDZ60UBS4DEDRJt7hKQXJrx8u0UzRRc0YUThEPptQ
PtKDTyuZyxJNDOMZJAewYeKUW1Hu4Ke8tmhhiqKaSu1UTd+c4gaiZbND7cEG
WIIDDCQVTcYs3XlhzpMJKO4DHgwzSUfHYJDtqZT2.P9VTEsjhTRDq3IHoyqE
35o79OEz3R7jkmZ2EnpKB1Rpp8fXM2fG6TLZfNga1.5cKgIfxwjBPGKBrO.c
wD24gqQEaWEIQZoAvSHLxdLwP1kRlXqdyJATp8m2bLVwzTrn.kfb0MfK.d04
8imQD6GimeR4sN7gV7z8TpxFnH28viQUqjQSWF0VQ6+5OklF+qOCB9vshv2S
1GMPvBbvBUxnXG4fcU92foSuijPxa0QM3dnhsh5GiOp+.9ZcQcP0oXK1Vv0A
9iiNoJga78V.ySeIYzR3I4hGPfmWzfPbukve5qgiW.QDEm4XMAATJwAlRH5N
L89Kf+btVeCRnC8n1O1mvBofDb+Et+sNNN8kqKcWZCvUHj7ZdikDN1ApARrz
4E.pCmwuqJf6b18yowaGM3ZohHW2O2NFgSRwMcZbWDvrvDc7+JJsda.6V9Fh
y1hb6zAHs1BCjeTfz4n0RVbAePNysYs+YVsIJCJKiWTMBkSuONoGp615xezj
VOjR8hzWMMxwzSTDWaOWl84ea9+S5uUS8
-----------end_max5_patcher-----------

Going one further, you could save the subpatch in your ~/Max 8/Library/ folder and use pound arguments to allow you to pass through arguments

NOTE: remember to save the patcher in ~/Max 8/Libary/ named as PollForArduino


----------begin_max5_patcher----------
987.3ocwW0zaaiCD8r8uBAc10feIIxdaaA1dpX6ghBrXQQfrLiiJnHEnnZRZ
Q+uWxQeXaYGW4.Cr9fLE4Lju4MuYL8OWtHdi4IYSbzai9unEK94xEKfoBSrn
+8EwU4OUnxa.yh0xGMa9V7ptkbxmbvzexnT+sw9W1sskZSDNhLXhtspTqjNv
cb+jkaAu76zaXhCrzz5lZZ2TtmqkcvLdStdWbzW6WtN2U7Pod2cVYgqyBFdc
xpHVxZFJMKSL7guJBi3qQqhHj0nnuF7+WKWFdrZlAegopRpcmD8+Sqqt0E8N
Oxhd7AoNZq76kExlnBiV6wkb6rYizyyFnWNb4zPLIvPjg69B8JCvMsNmQOWv
RnwivxlWIcR6cRc9Fk7PHeaSqbADfrgmupvrR1zjuSdRdrwkacmM5ImF8X5U
JbmQzk1qYSSwHbpfgWEQImUxB6UrpTOs7E16v7GG+MlVaw.RFp6hPiPZqrwU
pyck9z+diBY3nWhim6Igoy3jFfyIgXdc82k1ldqgCwmL+lwFdkuBd02xwNR8
wVew2f8TXlbqmtcdtt0B.K9oTVbmqlsRqtsD7dYH77GYi6Y0TZU602fqe7iH
7cep0Vq50O9.597Vk6XV3di1ce9.OrO5ajJON7nqvn5.se00XZBQj5aPEx09
hWBSfEvqiNFDofO2UpCDR+NCdbziiUYg7yQGUZxpIO4hSOj+3luY28kJ0nsK
Fib+lzK4i2Yy2Vtue4hXvb7.RHHFh.ga3QBlIHGcF81S1SRXLcuCDNSfvmyi
wCvudfUQqoHAGw5F4mZpW9VOc8rHYgMue1Zqo1XGzodWEvBfFYHE2T9igDA5
.1IunvG2GAlLZBlzQ53zrv.eJlfSNlVO1ENgGjA9QHLJACNIDjf6G5jWRUM8
3XLJhCGCQPIHv2rjTutZZdbhP7k43k6C9PCe+IBEJPpdnFna0J+PnjBMokwX
UT0yu2XTe9AOvmeUD9Vp9nYorLfVnbFEChC1E0eyVN8+nHj7mRTyNC0cQu2o
ZkuAeoTzYj5Tbfa6z5d8CHmD8zM9VCPq4Q8Uiv83JIi3Gu5.AwsFgu+47qGf
HhHgAplrLJk.jI2e6NL81CvOXkxWABA1iF9DFgS4ojraO39WoRYd7xn6zZfD
ABwuT2XNIACjZFGygt.deRXI2z.nsZiz9AiZ6UStAoHBR+Igei.PJ9vlF2D.
VmqkpuTZ7WS8R3aNMa6V8rM.oiUXd7ix3Pi1fXAt7AYRayw9yrwRTl2VVRma
DZB81zjdtsaGsu0YF+IkdVs+ppWYln6dsv+FIjJZp6+AN3Osr7WK+MPoRNXS
-----------end_max5_patcher-----------
mhamilt commented 2 years ago

Set port based on skip

You will have 4 serial connections. Given you might have to skip some ports you will need to set connections in an algorithmic way.

e.g.


----------begin_max5_patcher----------
1661.3oc0ZkzaaaDE9rzuBBldqJFy9ROkl.zbJnAnEEnnMvfRZrMSnHE3Rrc
Cx+8NKjTKlVdTzPGkbflZ3L789duu4sLLeY5j34E2ophi9kn+IZxjuLcxD6P
lAlz96IwqRtaQVRkcZw4paKl+w3YtGUqtq1NbYTdyp2WTV+GeJcc2S0Cklmo
psqDzNX5R6BzujWh.aMyhl5toBaG0MT88qUNMLNN5CsOZcR8haRyu9xR0hZ2
Sg.B3BvrHHGY9ifZthz2G8AyZ95zolKy7DmqTUUIWqd.PWqwXzUChPz.HDFR
DJwV.hwV.RAmD.eDGYkpLMIK5UySZVFIY.PzqVbSS9mhPjnWstHKKZGu1FzC
G.8ngQO5wPeZdc7rmxHHoWP6MBHz33lwd6gIA0C6.Gj.snRZ9Qn8v+bDvavQ
ORvYbfdfOD.Ol3Sx8FfrwAfswf53niQLneB5MH4i.EEwsgeHrwHHTZcQxfnC
O.5DiDGEagFYThx9MktDFzjIbB4YJaoxWhJDER.xvjenxVBIiP1RlT9LjsD4
sGlFTOrCbmKYKggNYRK9NaxVB4iC.OqxVBEi.E8rIaITNRbzytrk3P5FID4y
Txxk9xSCZeGXr7GpbkzQHUIAPdFRU5cbHVP4uNrctjoLz4QZg2YShRw3fuyp
7jxQfed9jlDLRLzfjlbQwpUJSDs8P3KfamnL5eyeAxLvuVtrIMuna5Yo4pEE
M40a6XexixaX6A3.GGKUXIqxKj.FmK69mXldijKYyYPUB7fVl.j55olwF6xD
V3cnVTXqCxE.h8iQYBbvHTm.D3ZoFwFy5D7NWJSF1OhhqiLL8rnPAFIvwg6v
mKDz2+JEX3QBftPPmGkJv.i.EEwHmG0JPYiiKD49ZeiSK0uWGH82JJaKMHBE
A8MlJ4Xi2LOI+5CmTAZfKgdAY+BEf.wnTnzu2TutoN50ZMK51aT4QKUeNcgp
JZQQtt3nZ0RusFritvHgsIEoqSLn6OfuQ.NuottH26uGaevl0IkIqT0pxKU4
IyyTaqxg0sJrGr.hzcMnwgppSJq89f8B6IBYQGqkyxXP.jIIvGMjq8cYq8du
+6VXe2lw2E+UEMkK5zjNmWDnWkVpppSySpS0t+slDYmIUTtTUZ8sCZzCpnMG
s+PhFN9hlMrjQmljA9XuMfF9HbZukDwGI0BxSSRTejjHDRh4q06jkD2GIACg
eR3ij3A.Sluz6SugiE.LA8gQ.CBl7gQX97Dmtj39Z8NYI4Civ7UsOc+jzGIE
hct9DvkG.D4CcHD3wKx.H.BR3og6TkiOLARHnb9j.LH6W8gxQBgjH9X65J43
YntE4vEtfOIQS8YmEKDLdlOLDdHB+w7xbRBAl7oXLZHRdv7gLxBAYj6s0CNP
OKIqW+YUYU6rsBQ2c1GKrTUwL6OSyc+z1KUbota5t4aOvj3jRc+S05lmZJsJ
V7csmrW7pBMoOuIssUAM7zhrp99r86SJW2vpcou6c.3kuuobcVaCgZ.cURSV
8tVgqJxquJoyNrA8UpLsdn0tEEYNkV+zKfXJRxzF.Sya5twQDITZ+Y+BMccZ
Wyko4FCR6a1thctraaitO2xVhhQms2Ug7gB4Ie4yu9pzrr94NoG45WRaOrwW
WlrLcyAfLI1NcXmlf.D.xBWyEJjHQ6Hi14i1XjfP7lEfDDI.NzJ5Ef94FqJ3
BLPJ.D2c5g1eUI4W6NDB2W.rcz0kElSZrkIoWpz9.KGoyEWk9ecNBvVVmjEK
z3dGkgioPjynCYbyMZWLBR20rt6RDHggFnuC.ATncQRIxr7sWjlRsZewQHXf
vJFjDi.10xoLMuZe+3dDwG2FOcC3MmfiVh1MJVWc2d.2SWouMsqw+sCYzuKZ
08uonH6OuQq39uKBFR1GlyHbqYAKHXnkbPNH+ya5z2QRH5obTd6gbmb6qyZT
uDdHWz.TcLzXacbcM+wRmjslaXnUvxhayOZMbidQ4H88y1hPDZM7M2mb7JH.
IoDKqgywXj0XJPP8lyvqfusTo9FzPq0Ca9m4NHSvP7vqb+sJKq31CqcObO.U
B.hCEMVfnPqQkKfBaT.8ZnDZPAPyp4px2Vjs7nMtFpHv59olbDVMEtcPifnf
qSxUY+UZQlp9P5mOAacOcv.f39cXZ8GvE1.sFxhs3CzdgM6iOS52hRzykPcK
Cgo3vDj12vs8yuotnOkR2YZ6JU8H8Dt5ZsedAiqnZcaBN6WgX5Wm9+39hneB
-----------end_max5_patcher-----------

There its a lot of repetition there, which suggests this could encapsulated in yet another abstraction with arguments

mhamilt commented 2 years ago

repopulated uMenu


----------begin_max5_patcher----------
858.3ocwW00ZaCCE8YmeEA+raPR1xerGaen6kBCVYiwXDTRTRbwVxHK2lrR+
uuqt1wINsKMcDXAhPec08ny8bu194Qd9yzaj09i+z3eN1y64Qdd3TtI75F64
WJ1LuPTiayuoTpZ7CZWI2JK6r1+ds1tdloodsevX+.WymE4lqGLyc5F65uKN
XlupEU9i+U2ApZJyUERKdnzcdYA5Y8rGthS145JgQTJsRyToRLqP51BY+o.9
Y2wD1Ma6T1sUxNDmqrNDf+6QPkvNectZ0TibtsciLJYBIXbLkOI18iDwRIQI
zzfwTBtDiMgL9WtC3kQibM3w4KppdTZpy0JjPczIPlOnMtgoA3vbU6P7x5aj
Olua+Ht8EF.NV.KMFD29ahi7aMUuPZTM4n0i.m5bYscawwATEPTno2cGgN8K
MlJftvqq+B4RQSgcX7doVYWJl2QSjdpoVV.3.P2bcQKngUmPC4rrXfJbDAvF
rnLZFNr2PqbiEsYZtxQHcmLZwflgQghbkbfqh4AG0ll8Zm7tG9rUKyKJ52qW
+MGNjN0g+JiXQtzIP5VA2NcGRXjHBCuttFNMJiMvGc6msmjnzv8FvRixHz2x
hdG.q6XUxjPRFn1Z6AScrUB0pVwOKwc3cyVYzUZisSIAllgKfZjcg357euKP
PNfcDymC26AfIIjSYsjNMNw0ABwLJeHsNzjTVpSF.8HTBmhFkkwblenQfjp7
X2EEERRQ2vxBYDz1DdLnqNNNdjP7uywi1e4cUN.OhIJXndWNP6pkPWLkhfIx
AuNKpb6MZcw8qAfe9YQzKo5KLIFJ+fRhznPJJNhNo96rkS+GEgr2KPc1QHk7
I3gEWWzHuhdpPzaH0CoNtsUqC5GTNk0Q2zKM.M5mTeXDtGW7DFzO3.AwkFg2
rU7wAHgkwiPUSRRXHCIyTFERNu7.7ViT9OfPj8Bc+b8nwowrjKO39grnP+zo
Q2qyA3YDR5opFmx3TjTSRooXU.vFdD+hdAZJmIM2pKV7gIWmTjfget6YDHRo
GVz3h.vJgRV7sbM7FcmBemSw11UeyBfg8YX.9IIoXgVmXAe4C1QkM6qOG0mh
FA6Mh2ZFKjGdYJRetka62eiU2+HkNVs6UU+fQh12qE+Z.Wnntp6Ab3GML5kQ
+AvnqJrC
-----------end_max5_patcher-----------
mhamilt commented 2 years ago

Test that we get first number


----------begin_max5_patcher----------
1490.3ocwXssiaaCD8Y6uBAk9VcL3MQI0mRS.Z5KAM.InEEsAKjk4tVIxhBT
TY2MA4eujit3qqMcrTpePVhWzLmyb3vg5qSm3uP9fnx26W79GuIS95zISflr
MLo84I9qSdHMOoBFl+ZQUUxcB+YM8oEOng1QcsTTuNqHWnggSZaLaILH4hO9
bFYqQJq0cCE21ZSS5GKEMtkuu2GZ6pLQmtJq3taThTcSujH9bzLOZLw9GIdd
f4p4duOXmx2lN0dYliXqPbuwCO.ZZOrW0QgG9P3QCNN7HOE7xJz9yNCJwH.X
TDE.KFv52KJqWKJp6bxLsXca72+8Rod0BUc0JqCMyd42SxTubmVdiA.q9qjs
Z4cxjxMd+Y4m9veYhJYsPKT2HJRVjC7A5nbG8bb243uvHK8wB4y41eHFIBwB
wQyLLK5pHy8VNbNwOEOjh+VXQAUQv0AjmP6aBPJokkbd8MI9Bg3hjh6Ns5m1
n9Cf0373qBmox0F8u9.f9LrmweeqToe2mxJ892hmQrM7qpk0YExtgmmUHRk0
E5sA+4j7OQBOzIPbPTSVs4wHdXXb2OifMND5gNrgY01f+nQZzg3JjNjhYb.y
hLLGRnGELjKK6wYoAhdotJkCGzspnDPESXi2p0JgJKI26EKRpW5EyQHuWjtp
t3SdDlq6eEhFg8uB3.za1jFGxFkXqyYn3wCptsYuYLMX7p.4m8bGbrKDb13m
K3qIwyXgu3PmAHcj.XShGJY7R77SXmAIZDjnDNrviwGiTOYZYxQQG8PzEvGm
PHgBYUYiRt02Jyy+Mopsf.OhG10TprAuhHFFJ7KXNa+xCvnnQo7n+nVWVq8d
owy7teknvao3yYohJuTYgojHsXoyrA+hKGJBJvMt4XO3l+Pem.bQsVKKb0YI
zK+zJWaXMpo.WV20AMOTkNQocMKDdPKvqAc7VMKmiQXdLC+jobg2ETw8defB
3caaeW7WIqUocdR2WZvC06RKEU5rhDclI7uYP1iq38TbrqVxVzzYszdtiTsT
n.UzUYZ62a3GCHAKgOik5XhqxRbWny8.9PQmXWLM4GklAbG7gfDeUltSNL9Q
RaFjyuvXHTmLWvDgN.Vh3Bl3CAlr0IcdK8CaEm83vCuXj6DcxFBPxbvRcb90
YIWDi7gPLF5L6gOxlqIkkeVnpZGMXDSYDeTBg0nYvilhcU8a56qLk80Mdnxd
+DkYidsYW9ZE3X9OzdDT+0Ri.onNqUiXfmwjU5Gy2eC8BSkUvTeyaP3adasp
LusxECftMoNWuKKbqrPeaRGOrA8UhbieX7tTYdiSa5ct4j4jXtg.rUYXJajv
hwwvi8SzVdDLmaxJrDR6aFlwNW1s9lluF3VlhGLauqQwGZjy9xWb2sY448ic
ROxMuj1hs7uSkrLaSk5S7ggi67DBhgH.bsWBvrXxN1nc7jMjDFS2LARDKFgO
1L5MfoeKqhlSQwQHVycll1eVlhdapVlDZe4ssVpj1iD2pjLSMF5.zHcg3pru
zEHPawNIooFbuiyDRCvjFRGyCs2XBwDbvtz5tSIhDYkAl6PXT.FlTbLwN8sm
jQRsdeywXTTDXFRLkff4FFvM5p8ii6IDeZNd5FvaOpgwhvBEHT2sFno20lay
5JzY6TF8qhV+3qjx72ux33tuJBOjpOZHmEBzBMhQwf3fcR8myxo+GEgjyEnb
NB07IFdYds343SEhNhTmhsbaiV2ne.4TbKciGZGTIuu3h8vM9UPHwb+rsDDC
sG9pGStbGDQhCXfpILjRI.YFQvlEmCuC9ZkP7c3g.6Qs+r2g4QbR3v6b+sHO
Wd+o8tCWCDDiPQmJabDI.CjZXDNBxBXlS.KXPAP85EB0qk4KuXx0JEQP3Ovt
GA3o3sSZLHNXYRgH+Oyj4B8o7OWR11z6QS.R6WgY7eTXDjn0JVfhOH6k1rO+
LqeIJyLVVPyzHz.5vjj10zs8iuVK62Ro6L7MkpdgQhl5ZguClMTTU1tAG74x
l9so+GvuhkCE
-----------end_max5_patcher-----------

mhamilt commented 2 years ago

Test for first byte from Arduino


----------begin_max5_patcher----------
1842.3oc4Zs0aaaCE9YmeEBp6s4Fv6RZO00BrtWJVAZwFF1JBjsURTqrngtz
jrh9eejGJoXqHaQGQmfg4BnHRQpy46b4ijG0uc1L+ExaSJ889Iu+xa1ruc1r
YPW5Nl0zdl+53aWlEWBCyOO4F4hO6O27npjaqftWmTUH8vHT6SxqWmlmkTAy
hzzY5JXvpWvKEjsFortpcn3ldMcUc2lDi14uHN+JeuO073MwUKuNM+pKJRVV
YFAAyNmO2iJ3mil6In5qDx4HuOomx2O6L8k4SClUdX0+PdoCBS7.vDOLLY6C
lo4U9yG5OGB5TgF4rPgFybjtwiF4qSJKiuJwV+HO3H8iG1GRo.RhhzHAGvmj
S7pxaRUhfXKVXb+NUqHVERmTbQRd7hLP2QChSxdw47QvZiSiFpwHE.L8DDtV
ZanJk6ebHrI37ffDihfjRDjNRwSxeVuNIutUISqRV2vb4+Qor55EE0kWqUn4
5K+ZbZwq2om2o.v0+Q7V87AY7l609QsOjiO5fNlsaL6GCRl4lzBE85ofTqi6
1ZxaRjqIuwXSB.2PdGMIbtTtVEoT8.f9BrmReeurn5CeIci2em+BhtietXUc
Ztrc3Yo4IKk04UaC9wBN1ypYnCfXdaheDRDDD09KbtWT.7DpacyEaC9A8znG
hq.pKo2wbFvqKfEpBmF6duEp5v4FED8VZanb.wk.TQfqY6HrlEhOAYqkIEow
YduZQb8JuHAB48pkWWm+EOByVl9.zIfomaVNCILqbyNI9V62dYjSiaMqhgol
H1nIsAq83W+QO6AG6HA2X6erEeFhmSE9hBrFfzSD.MDO5sYcpHd9Ar0fDcBB
QIBHwiINETOoUx3AQGcfyEHNMtPBEXUYn+CuSRLJ7YXqjQpceS0+D7Hb.AwC
wy8BTG+Pn+gXjPDK.GN8sY9babCdFLtgnv+eXbEOCFWgZmhOIF28v60b.g2H
yUmLnJUl6Q8s1fwcLO3fowByJ2XB9oA+D6wuq2qxfYZO03GaO9c8VYFLY3oF
+H6wOww3mKvlRD3DD+7RmxQOCroMFvmP9y2Kyx9EYQSXjGw9zGlyKzDCCGSk
eNqeUWT6J6jT0oeqtZSck2qUZl2MWmj6sJ4qoKSJ8VZxmRVYs0PbzUYJDp6Z
jIIAa9C5QBvE0UUxbaUVB83ismpaMzT2PV6Umd7txp3hJaObG1o0MyfNQSLq
PfQXQDCu2SxBuKnPl891dv6V2+t3uTVWrrUSZ+rUp7zVUZURYUZdrl5eqAoK
ijGpaPqSWsQpHgZDo.3m4l55ZXo2oACA5t4D4Pit2jrXURAXsFz84TPnKk8i
GDTtYUHDenVXyJTgPMA0sdHBQSGg3QPn9qZseDZJaGGi1Fga0fYBwLETfcfO
Pk05LYG04vgVS25Llj5oN8rNFXueqCMzTwLzPsDMKlx5Z4B.QGAPThCLc8hY
1ioC6JIMVHr9iLqGzjjTO5pCjrLUIQsw50R7LcIgeRRlrw50C3NhkqGE8IDj
5UsGODwENNlMXhPcfjH1fIgKvjtjuiKomrfQ8W1aqbCWsoBqLmLW.RlERp0l
OMIYSvnvEAiAVa8lJGLT3sQEETI9oSafXVIq.mHKpUxR3DYYyd03OLi1b9i3
Ma9ZRQYynAonNo0mkPVX3bnYZtoIbtH+B0IiaGOTmC+3B0YgpTGDpt.zL+aa
93m9qkp7475zlTZE9Thrr5tr9m4IWc3SXpu6cH7EuutXSVyg6T.5x35rpcMC
WJyqtLt0PbO5KSxLU+ZoLynzpmdNlxIQBU7pdSdps3QXQ3HnY2D0mfDlyEo4
ZCRya1b5fsur6Q.M++PYKQI3y6cML5gBYzW9hqtLMKqary5Pt5kzbdT+qJhW
kdewLl4CCG2pIDj5.a.b0W3XVDYGYzLdx8FILld+DHgrHDdnYzI.0y0VUz4T
TTHhYtS0U+YEmekofBj.8Kuo2MER8GisIRRM0H3APLRqKtL8eZcDnsrNwKWp
v8NJSf5raDiQGKBz2nbwDLeWy5tSIjDpCCT2gTLQXXRQQD8z2dRpPp08EGiQ
QgfXHQTBBla.Wnhq56G6EHtea7Y2Cdc0XTRDRT.WcaNf4oqU2l1tkss4L5xh
Ve2ajxrOdsRwsOKB6xnOZffE.lEZHihgfC1Ai+rNb5YLHjLlixZOjoJruNqN
4k3C4hFHTmh01VSrtJ9ABmhZL2XWqfExaxOZM7d8hGPT2Oeq.BWqgu4t3iWA
QjHNChZBBnTBXLCIXUxo6Uv2Vjj7HzPv5AeCI8cXQnfD3dk6OSxxj2bXs6g4
.7HDJ7PrwgDNFLpAg3PfEPMGNi6T.TudQRwakYqNZiqNTDAtetdMBPSwaSZ3
DEbSbdR1umJyRpNj9YCYq4oCR.R6xvT5OJHDHZ0AKvlOH8nM63mYconL0XYb
yzHTN0Mjz1R21M95JY2RJsUivrU0izSX1WK7oBzthxMMKvAeQgy99Y+a96aZ
e
-----------end_max5_patcher-----------
annies-1847 commented 2 years ago

----------begin_max5_patcher----------
1423.3oc2Zs0aaaCE9Y6eEDp6s5Ev6RZO00ALrWFVA5.1CaEEx1D1p0VxPhJ
ICE8+93EoFmDYJ5HZkz4.XaJwnC+NW9NmCo+x7YQKKuUTGA9IveClM6KymMy
bI8El0NdVz9raWsKq1LsHY4lM6DQKr25Plb017hMerRrRZeLXD6J3B.AS0eb
26fOz9+TzrOuXmPZddn6tXYi7gWMesQlkK+zOhf2Iypr8Bon5ihhrkp0hZJv
16YeFx+8fvtXhxKTKqOnu4WmOW+1BOwYg3FkX6joTbqzBevR.xE5orqXJzm1
pDLnGednG+XzmDcJ.tLqXSzhQ.z8h55rMhGgTnCThXIFfkX+HUC4SiRru133
Shx.aCg.WnCSz3oEiAyDxhb4iNFK3xForrvEfRR0ffBCaHI4IEQZbXCo4TI4
pR.B5zjhnlvRtIrjSbaS81gkiilLXJAH0ePPtCXR3ZTRS3Z7wftCK62NS6Ak
HebcWLdG4SREAPbHf.3XE9QDt5qnTst.kPAI7tA3D.KUYbUeGSgfDr5F3tYo
+d2CdWdgXUYSg7X.2KQfgIflZBePTjw4Y7tMrPSzso9lb0p+a.L2BMzfdJDK
GWZGS24.rd33nrmDkf1oI3wJ0txeAMorHPCQ.AEHJdxfb7OMT1rWTz3.NTSj
Ny5spHB8CN4Rw91R+h9yxR41kUM0a0qxE529sr7p2duq76JTs8uxN5JuuL6P
zwR4H8CoG8C9IWC2hKfWx2Rb3rTGjM3fYybjFnLG3zKPliUk6UdJxGAzWg.p
Ez6Jqju+y4G.+Swqv5K7yUqaxKJ6kUDOXweJRiTHONNs6UxBPZr4NjyKRB1i
5IJbl4piAuyhZMEFg3lrmIL2VZn2E0RBLY+oxRdPAQvVWUGfMjd15+Xv.4IG
imlp1qEU4Y6.uYYVyZPJGBAuY01lhOqx06.yLadNnwlhhoAhoOFdYX5OA1es
y9UZylgrQeAqaLNMZp5p90JlCO.nMxbnNx7GfjvCPmAm+.ZXPh4FeTJOTfDN
Mgm4xxLOPGAZ6D0M5HdWIMO7lvgp1JUUuHQ+hyRQwXHKAs.DqpjlqeAo3DHM
Fk7htRLDL44oTrgTtIvj+GnbieYpb4phZ99W4xeQ0DQaQz+RYgp5YYdYAfbt
bGbahaDFEnRNQP1zP5+XviO2X6K.3oOWfGctwdW.vSdt.OzYU31sNK7vMzMe
LDEZKR9NizjAeQwY9txc690xpVeHPry.GJxzAG6J5C2sAUQLOk145wOhNk6F
yezHOzHAuU8fA2rUT.VKtNeknFrxFLIV6hC0riko1.Hj8C3n2tEJO5RbtSVS
m8vmB1oNgm5ic5TszUKypjChddqeKmifHdJEEvFXQ9R1ajiYC9dvY8aV15qe
e7WW1Tsp6Q0c56f6VtqE0x7hLMu+QSReZX5I0qN1WIo5KAfFPPwv.IH3THnN
0hSIkD.AEimJHE6i6f9TtNxTVVsVTYBQGknISEF06P+zHI8wFMM97dY2nr9s
anwEEnxwCvdBx1IsOe8gRUQHsjVbS0iL6AxXqg7dCnPCwpcWBMCBMHhmJWBl
Ozsj.IHjONDiNbxm.2PHHjOBhlF.IQ8gg.GBqjoOmg0dvfHJezelcgI.xh5k
rhChrXdIqfjH1GUn93UzgdiiU0GEHKD1Jt2XZzRxmjTlZcBdRpNMkaPBmJPR
tuKanpfxm.AbPHH8I6RWYhiWRCZ3PgvvoeHjgLb3PIIeyM2eES1S+lgfGWwz
QCn1VQsG1H09C.6xWk2Cpr9LqxivrahHj02HjcCFSL+RGzibG8XaLN6vgqEU
0sqRC3h1m8oRyzSVXFlWXGZ1csnJw04cy2zXdTVkp+eop4+lJiBI511yOOZe
oRvEM4szSJ0pRjlsWnHaun9PlUCZ1Eh4ec9+ArbM2vB
-----------end_max5_patcher-----------
mhamilt commented 2 years ago

Get data after first byte


----------begin_max5_patcher----------
803.3ocsWszaaCCC9bxuBA2qoAVxu2s8.CnGFVAF5osgBYa0D05HkIKmlhh9
eeTR1stMuaRyAEaJJQ9Q8QJ5GGNvKWtjU6g9D52nACdb3fAVQFACZeef2L5x
hJZsUMu74TcwTlxajaxEb18K307bdEW+fQEb6Lxatoloc684gYjw9iPmSRBG
6i9aqJUxh6XkkJ5j5Bkrpxnre6bEU7h6zSUxlIS6KmIn4Uroqt.2DKVch7Iy
jkrWIQpJAHzShrQWwz5GlybNrm2HjGW.temuZwMWL4ZEqnEUg3wQiP3fHCzR
sijjdvSPmY2NuOqJa3B4WkBArXtTLFhovF1EDEMy3Bv908ie7R6Zk42ddTOE
cdpUSRqTpZR6YHXainmFNzLLZOOSKjylwDO6MZ1RK.8t3GWg9FUS81bH.mEa
gseh4unL2K8iA6.Z3r0iM+SHNtRv+WCC0dJftnDTheC+ER7Z.V.bRFYvhEe3
P+CGYImNjMiUWSmv71HacazTRheOnD4PBYSHgrFjrA9G93QxymQ9HbrOJ.ES
.RLNHFdDmgMOmFhRi6dgjBjLTb.7LIzGkRfIHcZYdtaiq3PplrQX28f2UbKv
x.vtJW3PK21Lt2wsnjSWbaSb6yvHXyuTpz+5N9bzeDmQLBZ45qMZP1R5bTpA
kAYiy7iSRx59kNBkYyvCBNfL.xoKAPvtG1wUP+kPo9uKUcY1IH7FSQxohI6Q
07vnwguE5X+zsmyrFrGl8we1+yF87FM5K.xP2OkIPkrE7BVMpvcQCqbKE3RC
LXJCaQFFevk2BiOcmt4MZsTbrGcotaeB6F2edZvKwIEbmslot10MQ+VD93p8
UqoJ86q1tC4wsb13XrONNKDCIpjCuLevtor1MyVN4McMZ8Mi7Wi+ZYipnCIs
sxfdwkJY0ZtfZZIpuNPcSDdCsxbHFBuCCgiNAFxvd1Mjb5bTFxTRYmFpyaNJ
Kg2GH04NqvNnymufopa01ZDHO3Vosg6zQ1Wgp0pmyF8TLymP3z2dWMzRKvz0
.MuQ4ZgdYbnmaoPu7JQCukYBvan4iEfbLS610yoNjXSEG9zv+iVN.TA
-----------end_max5_patcher-----------

ArduinoConnection.maxpat.zip

mhamilt commented 2 years ago

----------begin_max5_patcher----------
1434.3ocuXsriaaCEcsmuBB0tnAwwP7sXWkl1EM.M.AMInKZKBns43gI1ht5
QxDDj+8dEk8DmHZ8vV1X.7.RInKOm6km6iOeyjn4t6M4QneF82nIS97MSl32
pZiI6VOIZi99Eq049WKxlt1TDMs9ItxBXUwm1Zp+DQQn+c2i1pKVbmMc0ayL
KJpeJiImQEXgRQYDIQJD3oHBeFmhUXlDGqTIbJeJhFOKt92G9boka7V1eHh2
soco+H4l+tmPjQe8MqOV9WEua2EtMaLo9CRzOYSKdD50tUqVaP+oQuDNlnk5
B89OgMcowyAwUq+xM2T8yzdRPolOBGn8epBy80FcsSubiIOGwNMxiSTy3dlh
yHBB7iDnHAdFvibEiiUBLGKoSQRO6QHGi8vMYO7QHuS.96I5uG++R1xRapC8
qtzT.TVW5+.+8CXzVWVAxy3Ua7DTdgF1PmiJSeep6i989CadgIMGcqKCcqMK
u.M+SEF+aCGUTIXwxpU2t1tMGsRW+rhL6pUlrbzFSQlqZmst0qq+JG5tWagS
jqrN5.GebeffIlwkLlPvSDXLQIESQIyvxXBljHXIRtTAd.L26BvL7.7Ajv9f
SIDrvGZez3LaERaITiTcyqQnFIoYnFg4C0XCIT6AbtUmoAOiI6slT870lCuY
e9wgG4ZHD4fvGkYlqSWEM8TYHkpICQIC9xXR3.AxXRBv8tXzh0t7iGkrmGf+
U+hsRHIfPjRlHiETtJQ.QKfPDeVLi.hVBXMmJSXmj3DOLePGO9vqO.27iaOv
X3QD7.QDBZ6L.oICHHQW96EXTULgsUUiog9Wqo7iCj0hgCj0BjL4CLvPbjzV
rSfVVk+QKb5IsdcnUnRioMgJmHBnIn7k2LjH.F+q0lTbHczeQTx3Frj2UfRq
jENDYwhYAHK7fELn7wSA0WZQmPsK3xR3AfKTMg76gKNl0.u1Bylc0nG8Zmq3
t4Yk42UYzoU+76Za1y9lcdAbPu6uzGryqb5sOr3M0EVE0eB8DxYeIjmOC8YZ
xLepHrJgRkbNSAN.JaFlk.cinDwTATgMn.ITCVdlnt3xyYH3S+RnR4W8d61S
qAB.oMyPQDxlW4ff0Vof.seIoiGET0kjdkoAG3aT3tSD7jYBZBTghTIHLEUU
oBS1ULuhQkr3DF2mEZnde4kO4btIypWid5bc4RDDqFid5h6f1ifJuOKUXIqY
DAGSaFQfkrAqBKiu30w9XT7I2jSvLPDUnlbTsWYRnB1XW7XhGiTxQF7gzB5p
+kPf+ZoE7i3STLHD5A8+lnGxPOXzGewc81Bmdbc8TZfJxYcnERCzplX7.+YL
nwfciNVCZLt+CZbTlmXsMhZo3x.0VJvIMqsrKzFZnTGoEq3PiUcsMu3Qnm+h
2f9McgF8rOUXxuRTP0j1tXb.Y.bfezxuI09ekFz9Qd97kvis2ZMYsxF9CjeX
je2.48.tZ+ukhxckYK1eeX2fRfFy1Cqkl7BaptZRqG7NUieC8Ur6xVBmpidC
suVtZ56G7Ua2zmkkpvHoCCUU4wAmlM1kacfeYGqRgXEYSwAedNUsj2gKX0Y.
wjPqfxEf+kDpW1pGMBXsK+Y0fAB4OiOaK2k6rJM+Y6NIw8vR7QvPI8vN6iaN
aCguFFRR6iShUebNOKQtVjmrOgCL9HfIOwzYfmXDvjn29oy1R8wOkLFFBObU
3QRYxa59JJd9Vh1gknjKFH6heql5z3mIuWnlPtXl9pTDgnOxLdUO7nCx9XZ5
kIotnOBQigLNqW0OfGKK0kb.YLrDkesRrS6C6s+1+4U8k5ZkXG2mTShw3tce
DQnMMTcyW5sa+fIKe2a6sAzI56b9aeIS8KgN5xdnSwnLyGr6ee+.QhzYP2oE
PqokY9yUz86lFXzFGbONsztSEAPGXReWto5Ml7s5Zf3aF9luby+yLK+3u
-----------end_max5_patcher-----------
mhamilt commented 2 years ago

I've let ferment over the weekend and went back to check it this morning. f79b33b seems to be a good starting point. From there things can be tweaked, but I'd recommend just running through the setup a couple of times to see if it makes sense.

annies-1847 commented 2 years ago

Thanks so so so much Matthew - devoting the week to this starting tomorrow so I will explore and come back with any Q's.