diff --git a/Pipfile b/Pipfile index 1fc6f86..1e9b9d0 100644 --- a/Pipfile +++ b/Pipfile @@ -4,24 +4,24 @@ verify_ssl = true name = "pypi" [packages] -pyfrc = "~=2022.1.2" -robotpy-halsim-gui = "~=2022.4.1" -numpy = "~=1.22.1" -robotpy-ctre = "~=2022.1.0" -robotpy-navx = "~=2022.0.1" -robotpy-photonvision = "~=2022.1.0" -robotpy-rev = "~=2022.0.1" -robotpy-wpilib-utilities = "~=2022.0.5" -robotpy-wpimath = "~=2022.4.1.1" -robotpy-wpiutil = "~=2022.4.1.1" -wpilib = "~=2022.4.1.5" +pyfrc = "==2023.0.0b4" +robotpy-halsim-gui = "==2023.0.0b7" +numpy = "==1.24.1" +robotpy-ctre = "==2023.0.0b6" +robotpy-navx = "==2023.0.0b2" +robotpy-photonvision = "==2023.1.1b7" +robotpy-rev = "==2023.0.0b2" +robotpy-wpilib-utilities = "==2023.0.0b2" +robotpy-wpimath = "==2023.0.0b7" +robotpy-wpiutil = "==2023.0.0b7" +wpilib = "==2023.0.0b7" [dev-packages] hypothesis = "*" pytest = "*" [requires] -python_version = "3.10" +python_version = "3.11" [scripts] deploy = "python robot.py deploy" diff --git a/Pipfile.lock b/Pipfile.lock index c8bd1fb..e8a0451 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,11 +1,11 @@ { "_meta": { "hash": { - "sha256": "f1cf5c91b61980707d866283dd8d231a34d052ad93d49dcd8bb20cec03f32081" + "sha256": "48f5028d098426e29759ecf7fd0b6824d171a0cada8befd83c17a701a1ca921c" }, "pipfile-spec": 6, "requires": { - "python_version": "3.10" + "python_version": "3.11" }, "sources": [ { @@ -18,116 +18,147 @@ "default": { "attrs": { "hashes": [ - "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", - "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" + "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", + "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==21.4.0" + "markers": "python_version >= '3.6'", + "version": "==22.2.0" }, "bcrypt": { "hashes": [ - "sha256:56e5da069a76470679f312a7d3d23deb3ac4519991a0361abc11da837087b61d", - "sha256:5b93c1726e50a93a033c36e5ca7fdcd29a5c7395af50a6892f5d9e7c6cfbfb29", - "sha256:63d4e3ff96188e5898779b6057878fecf3f11cfe6ec3b313ea09955d587ec7a7", - "sha256:81fec756feff5b6818ea7ab031205e1d323d8943d237303baca2c5f9c7846f34", - "sha256:a0584a92329210fcd75eb8a3250c5a941633f8bfaf2a18f81009b097732839b7", - "sha256:a67fb841b35c28a59cebed05fbd3e80eea26e6d75851f0574a9273c80f3e9b55", - "sha256:b589229207630484aefe5899122fb938a5b017b0f4349f769b8c13e78d99a8fd", - "sha256:c95d4cbebffafcdd28bd28bb4e25b31c50f6da605c81ffd9ad8a3d1b2ab7b1b6", - "sha256:cd1ea2ff3038509ea95f687256c46b79f5fc382ad0aa3664d200047546d511d1", - "sha256:cdcdcb3972027f83fe24a48b1e90ea4b584d35f1cc279d76de6fc4b13376239d" + "sha256:089098effa1bc35dc055366740a067a2fc76987e8ec75349eb9484061c54f535", + "sha256:08d2947c490093a11416df18043c27abe3921558d2c03e2076ccb28a116cb6d0", + "sha256:0eaa47d4661c326bfc9d08d16debbc4edf78778e6aaba29c1bc7ce67214d4410", + "sha256:27d375903ac8261cfe4047f6709d16f7d18d39b1ec92aaf72af989552a650ebd", + "sha256:2b3ac11cf45161628f1f3733263e63194f22664bf4d0c0f3ab34099c02134665", + "sha256:2caffdae059e06ac23fce178d31b4a702f2a3264c20bfb5ff541b338194d8fab", + "sha256:3100851841186c25f127731b9fa11909ab7b1df6fc4b9f8353f4f1fd952fbf71", + "sha256:5ad4d32a28b80c5fa6671ccfb43676e8c1cc232887759d1cd7b6f56ea4355215", + "sha256:67a97e1c405b24f19d08890e7ae0c4f7ce1e56a712a016746c8b2d7732d65d4b", + "sha256:705b2cea8a9ed3d55b4491887ceadb0106acf7c6387699fca771af56b1cdeeda", + "sha256:8a68f4341daf7522fe8d73874de8906f3a339048ba406be6ddc1b3ccb16fc0d9", + "sha256:a522427293d77e1c29e303fc282e2d71864579527a04ddcfda6d4f8396c6c36a", + "sha256:ae88eca3024bb34bb3430f964beab71226e761f51b912de5133470b649d82344", + "sha256:b1023030aec778185a6c16cf70f359cbb6e0c289fd564a7cfa29e727a1c38f8f", + "sha256:b3b85202d95dd568efcb35b53936c5e3b3600c7cdcc6115ba461df3a8e89f38d", + "sha256:b57adba8a1444faf784394de3436233728a1ecaeb6e07e8c22c8848f179b893c", + "sha256:bf4fa8b2ca74381bb5442c089350f09a3f17797829d958fad058d6e44d9eb83c", + "sha256:ca3204d00d3cb2dfed07f2d74a25f12fc12f73e606fcaa6975d1f7ae69cacbb2", + "sha256:cbb03eec97496166b704ed663a53680ab57c5084b2fc98ef23291987b525cb7d", + "sha256:e9a51bbfe7e9802b5f3508687758b564069ba937748ad7b9e890086290d2f79e", + "sha256:fbdaec13c5105f0c4e5c52614d04f0bca5f5af007910daa8b6b12095edaa67b3" ], "markers": "python_version >= '3.6'", - "version": "==3.2.0" + "version": "==4.0.1" }, "cffi": { "hashes": [ - "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3", - "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2", - "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636", - "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20", - "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728", - "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27", - "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66", - "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443", - "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0", - "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7", - "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39", - "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605", - "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a", - "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37", - "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029", - "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139", - "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc", - "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df", - "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14", - "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880", - "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2", - "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a", - "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e", - "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474", - "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024", - "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8", - "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0", - "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e", - "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a", - "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e", - "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032", - "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6", - "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e", - "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b", - "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e", - "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954", - "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962", - "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c", - "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4", - "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55", - "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962", - "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023", - "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c", - "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6", - "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8", - "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382", - "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7", - "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc", - "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997", - "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796" - ], - "version": "==1.15.0" + "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5", + "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef", + "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104", + "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426", + "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405", + "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375", + "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a", + "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e", + "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc", + "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf", + "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185", + "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497", + "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3", + "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35", + "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c", + "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83", + "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21", + "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca", + "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984", + "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac", + "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd", + "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee", + "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a", + "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2", + "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192", + "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7", + "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585", + "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f", + "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e", + "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27", + "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b", + "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e", + "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e", + "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d", + "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c", + "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415", + "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82", + "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02", + "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314", + "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325", + "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", + "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3", + "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914", + "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045", + "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d", + "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9", + "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5", + "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2", + "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c", + "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3", + "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2", + "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8", + "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d", + "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d", + "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9", + "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162", + "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76", + "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4", + "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e", + "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9", + "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6", + "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b", + "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01", + "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0" + ], + "version": "==1.15.1" }, "click": { "hashes": [ - "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1", - "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb" + "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", + "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" ], - "markers": "python_version >= '3.6'", - "version": "==8.0.4" + "markers": "python_version >= '3.7'", + "version": "==8.1.3" }, "cryptography": { "hashes": [ - "sha256:0a3bf09bb0b7a2c93ce7b98cb107e9170a90c51a0162a20af1c61c765b90e60b", - "sha256:1f64a62b3b75e4005df19d3b5235abd43fa6358d5516cfc43d87aeba8d08dd51", - "sha256:32db5cc49c73f39aac27574522cecd0a4bb7384e71198bc65a0d23f901e89bb7", - "sha256:4881d09298cd0b669bb15b9cfe6166f16fc1277b4ed0d04a22f3d6430cb30f1d", - "sha256:4e2dddd38a5ba733be6a025a1475a9f45e4e41139d1321f412c6b360b19070b6", - "sha256:53e0285b49fd0ab6e604f4c5d9c5ddd98de77018542e88366923f152dbeb3c29", - "sha256:70f8f4f7bb2ac9f340655cbac89d68c527af5bb4387522a8413e841e3e6628c9", - "sha256:7b2d54e787a884ffc6e187262823b6feb06c338084bbe80d45166a1cb1c6c5bf", - "sha256:7be666cc4599b415f320839e36367b273db8501127b38316f3b9f22f17a0b815", - "sha256:8241cac0aae90b82d6b5c443b853723bcc66963970c67e56e71a2609dc4b5eaf", - "sha256:82740818f2f240a5da8dfb8943b360e4f24022b093207160c77cadade47d7c85", - "sha256:8897b7b7ec077c819187a123174b645eb680c13df68354ed99f9b40a50898f77", - "sha256:c2c5250ff0d36fd58550252f54915776940e4e866f38f3a7866d92b32a654b86", - "sha256:ca9f686517ec2c4a4ce930207f75c00bf03d94e5063cbc00a1dc42531511b7eb", - "sha256:d2b3d199647468d410994dbeb8cec5816fb74feb9368aedf300af709ef507e3e", - "sha256:da73d095f8590ad437cd5e9faf6628a218aa7c387e1fdf67b888b47ba56a17f0", - "sha256:e167b6b710c7f7bc54e67ef593f8731e1f45aa35f8a8a7b72d6e42ec76afd4b3", - "sha256:ea634401ca02367c1567f012317502ef3437522e2fc44a3ea1844de028fa4b84", - "sha256:ec6597aa85ce03f3e507566b8bcdf9da2227ec86c4266bd5e6ab4d9e0cc8dab2", - "sha256:f64b232348ee82f13aac22856515ce0195837f6968aeaa94a3d0353ea2ec06a6" + "sha256:0e70da4bdff7601b0ef48e6348339e490ebfb0cbe638e083c9c41fb49f00c8bd", + "sha256:10652dd7282de17990b88679cb82f832752c4e8237f0c714be518044269415db", + "sha256:175c1a818b87c9ac80bb7377f5520b7f31b3ef2a0004e2420319beadedb67290", + "sha256:1d7e632804a248103b60b16fb145e8df0bc60eed790ece0d12efe8cd3f3e7744", + "sha256:1f13ddda26a04c06eb57119caf27a524ccae20533729f4b1e4a69b54e07035eb", + "sha256:2ec2a8714dd005949d4019195d72abed84198d877112abb5a27740e217e0ea8d", + "sha256:2fa36a7b2cc0998a3a4d5af26ccb6273f3df133d61da2ba13b3286261e7efb70", + "sha256:2fb481682873035600b5502f0015b664abc26466153fab5c6bc92c1ea69d478b", + "sha256:3178d46f363d4549b9a76264f41c6948752183b3f587666aff0555ac50fd7876", + "sha256:4367da5705922cf7070462e964f66e4ac24162e22ab0a2e9d31f1b270dd78083", + "sha256:4eb85075437f0b1fd8cd66c688469a0c4119e0ba855e3fef86691971b887caf6", + "sha256:50a1494ed0c3f5b4d07650a68cd6ca62efe8b596ce743a5c94403e6f11bf06c1", + "sha256:53049f3379ef05182864d13bb9686657659407148f901f3f1eee57a733fb4b00", + "sha256:6391e59ebe7c62d9902c24a4d8bcbc79a68e7c4ab65863536127c8a9cd94043b", + "sha256:67461b5ebca2e4c2ab991733f8ab637a7265bb582f07c7c88914b5afb88cb95b", + "sha256:78e47e28ddc4ace41dd38c42e6feecfdadf9c3be2af389abbfeef1ff06822285", + "sha256:80ca53981ceeb3241998443c4964a387771588c4e4a5d92735a493af868294f9", + "sha256:8a4b2bdb68a447fadebfd7d24855758fe2d6fecc7fed0b78d190b1af39a8e3b0", + "sha256:8e45653fb97eb2f20b8c96f9cd2b3a0654d742b47d638cf2897afbd97f80fa6d", + "sha256:998cd19189d8a747b226d24c0207fdaa1e6658a1d3f2494541cb9dfbf7dcb6d2", + "sha256:a10498349d4c8eab7357a8f9aa3463791292845b79597ad1b98a543686fb1ec8", + "sha256:b4cad0cea995af760f82820ab4ca54e5471fc782f70a007f31531957f43e9dee", + "sha256:bfe6472507986613dc6cc00b3d492b2f7564b02b3b3682d25ca7f40fa3fd321b", + "sha256:c9e0d79ee4c56d841bd4ac6e7697c8ff3c8d6da67379057f29e66acffcd1e9a7", + "sha256:ca57eb3ddaccd1112c18fc80abe41db443cc2e9dcb1917078e02dfa010a4f353", + "sha256:ce127dd0a6a0811c251a6cddd014d292728484e530d80e872ad9806cfb1c5b3c" ], "markers": "python_version >= '3.6'", - "version": "==36.0.2" + "version": "==38.0.4" }, "iniconfig": { "hashes": [ @@ -138,52 +169,60 @@ }, "numpy": { "hashes": [ - "sha256:07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676", - "sha256:08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4", - "sha256:201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce", - "sha256:2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123", - "sha256:3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1", - "sha256:48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e", - "sha256:568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5", - "sha256:5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d", - "sha256:639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a", - "sha256:8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab", - "sha256:92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75", - "sha256:97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168", - "sha256:a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4", - "sha256:c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f", - "sha256:dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18", - "sha256:e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62", - "sha256:f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe", - "sha256:f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430", - "sha256:fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802", - "sha256:fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa" + "sha256:0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9", + "sha256:0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398", + "sha256:179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7", + "sha256:2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2", + "sha256:26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954", + "sha256:28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6", + "sha256:28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032", + "sha256:442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36", + "sha256:6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c", + "sha256:7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8", + "sha256:84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7", + "sha256:87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f", + "sha256:8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700", + "sha256:ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086", + "sha256:b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7", + "sha256:b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2", + "sha256:b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9", + "sha256:b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407", + "sha256:b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2", + "sha256:caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36", + "sha256:cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566", + "sha256:dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1", + "sha256:ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e", + "sha256:de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51", + "sha256:e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1", + "sha256:ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d", + "sha256:ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf", + "sha256:f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7" ], "index": "pypi", - "version": "==1.22.3" + "version": "==1.24.1" }, "packaging": { "hashes": [ - "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", - "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", + "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" ], - "markers": "python_version >= '3.6'", - "version": "==21.3" + "markers": "python_version >= '3.7'", + "version": "==22.0" }, "paramiko": { "hashes": [ - "sha256:ac6593479f2b47a9422eca076b22cff9f795495e6733a64723efc75dd8c92101", - "sha256:ddb1977853aef82804b35d72a0e597b244fa326c404c350bd00c5b01dbfee71a" + "sha256:376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49", + "sha256:b2df1a6325f6996ef55a8789d0462f5b502ea83b3c990cbb5bbe57345c6812c4" ], - "version": "==2.10.3" + "version": "==2.12.0" }, "pint": { "hashes": [ - "sha256:4b37f3c470639ea6f96b0026c3364bde30631fa737092bdaf18ad3f4f76f252f", - "sha256:8c4bce884c269051feb7abc69dbfd18403c0c764abc83da132e8a7222f8ba801" + "sha256:387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067", + "sha256:68afe65665542ee3ec99f69f043b1d39bfe7c6d61b786940157138fd08b838fb" ], - "markers": "python_version >= '3.7'", - "version": "==0.18" + "markers": "python_version >= '3.8'", + "version": "==0.20.1" }, "pluggy": { "hashes": [ @@ -193,14 +232,6 @@ "markers": "python_version >= '3.6'", "version": "==1.0.0" }, - "py": { - "hashes": [ - "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", - "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.11.0" - }, "pycparser": { "hashes": [ "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", @@ -210,11 +241,11 @@ }, "pyfrc": { "hashes": [ - "sha256:87c6b2c643e5fedc34ed390c1773eb3cfeb4cbbf53f6840598996428cd94a118", - "sha256:bd7bd5d138166e1ae20d4339c0de24b47870817187931e9ec4a6f9208753322f" + "sha256:08c0f02fb2318f0e107301f05ef752e0eed88b0807aac0418a88bd4177511696", + "sha256:1cbdeb84b3f338f266e98cb4e606a73319726e0bc19def75a560ba6948a3394e" ], "index": "pypi", - "version": "==2022.1.4" + "version": "==2023.0.0b4" }, "pynacl": { "hashes": [ @@ -240,251 +271,257 @@ "markers": "python_version >= '3.6'", "version": "==2.0.4" }, - "pynetworktables": { - "hashes": [ - "sha256:54604b1993515c43890be058263f158c1d168c69bedd802f0de644964cf3840d", - "sha256:91167948e66c29d5c90f85f3e249403f4d2ebf11368b93f9b968ef315388c73c" - ], - "markers": "python_version >= '3.5'", - "version": "==2021.0.0" - }, "pyntcore": { "hashes": [ - "sha256:0939b2b1386472daf74178d3713b1d6b9c7aaf10e52fb5a848f9bfdc1e591e5f", - "sha256:120af9b82e9bc414013562a911569de87fbbf346d867ef7e41b0f526e4f20fd3", - "sha256:21b99be3c22960a417219cd9907552aeca7a5e957a90bd85e00d435f52b070b2", - "sha256:2b76091d82db90f644b345687ec5656dabcf9b74c29ab572b00e20f387c90e66", - "sha256:48c56f312681bd77be696d130611b80322f9fc23a4a7d11f8237c7c4727d3e7a", - "sha256:5ebf249aeb659e2c091f6959ed22d0aae54022b4923db524aa2adaa55b18ea61", - "sha256:73603cc3349b20bc64ad893e7a1463d393d690561728efe8ec1b2425fd62dd51", - "sha256:8990c3b3db210fd5177414b4af388eff26072378939deca100face873449e3c0", - "sha256:8f535c3346037cdf151131c8c34862ae3fb67c7de02c0fe220eb622f1fce35c0", - "sha256:983d8e59b4f97b72a82760a44e28b4466e1af6e2a5e7be25b59218caa92f995c", - "sha256:9e9bcdff1f2d78dea373f7250c63ba73519ffa82946356682fa395a743a33ed2", - "sha256:ce555d83e3a33b435ac437ef1d5bb26da5c2758ba7fe771dc2d406cabb7cb38b", - "sha256:d665e0d4fe4ca7156288dbcbe2c181178b90bb6ce3542e244d9870c8344b7194", - "sha256:dd736d1a87232481b4d0effd95930793209d0b283048fae949075a42fc766f4b", - "sha256:e6738d1a76af901e5f44e81d30bfe3c310be06caa1a8651921e88546038f4625", - "sha256:e6cf1c78c9dd0fec339cb1511e78b457a5f9706d99e0a962e5c9ad360a3deca4" + "sha256:06c0d7aa565aab768f4e41909e40ada4ca414b9a7bc5f07745e99204a66fd4fb", + "sha256:29092d5b98acaa3dd8ac4257d74d4980d76087cacc436b8f060007a39e6c0f71", + "sha256:3031015d9028e41e0ac25d0744a08f29e82273ec5b9496d5c955782e466b1efe", + "sha256:36a70a988811efef3cda5fe6e51576b7112e5d6e34443cfee32b63677cc6ec00", + "sha256:431ebf5b3007d5140e93eacccc1623e5d285ba9b4284924a7f3faff5927f6c4b", + "sha256:66fe3cf5df9f6decaac630acb460e9af3fa2daa68dc1ce9b50c230273e4dd392", + "sha256:70e51ac942337b0d09795a3ec0dfc3b58ecd30a867a77d4e3995dadd7f8e72b4", + "sha256:73ba19661dcc3d93bf21406bbb8e21a0dd29624198f392f9017fcf8db269d664", + "sha256:75fdd7ec8f8eb4dc14319a4ae17bbe1e2419b06abc13998014c8ba610df20550", + "sha256:786b9041c34473f2d2a38e87cebc448f454a64cdf9897a8dfbc7b68c60a75e20", + "sha256:c29d3fbab219492cbed3a1cdc50d90fc0716b7528a4f44660791c109e21da26b", + "sha256:dfa508dbf2b454de82eeabcdb781087219b0512eb1f601e860867466668bea85", + "sha256:efa4fd17a01585cf4a3be601c3f3ccb57ff307e24e20a33f0a5775c61396fc1a", + "sha256:f03b582a7c8203f06fcb50935748923765ad7aae600be68ca00f0f78a3a94fce", + "sha256:f0983023ae297da6f774292e71dff20bed5772c4758b16fb1ef5b46bb9a6bf08", + "sha256:f1f57a85eaf1974c58e949b180d2773bf09a2b7525ae9ce79d311fee60dff74f" ], "markers": "python_version >= '3.6'", - "version": "==2022.4.1.0" - }, - "pyparsing": { - "hashes": [ - "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", - "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" - ], - "markers": "python_version >= '3.6'", - "version": "==3.0.7" + "version": "==2023.0.0b7.post1" }, "pytest": { "hashes": [ - "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63", - "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea" + "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", + "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59" ], "markers": "python_version >= '3.7'", - "version": "==7.1.1" + "version": "==7.2.0" }, "pytest-reraise": { "hashes": [ - "sha256:127aa3ef028bfd2edd0b6c4ebbd5b488eb5c4cc68d40ea05a8929c300b97367c", - "sha256:ee900ff9f8ceffd8891216bd0bdaa461e05d297ffd0914df6bb20dce0a425420" + "sha256:5ab59bd0e2028be095289e6dfc9e36cc0b56936465278f3223e81bea0f2d1c70", + "sha256:c22430d33b2cc18905959d7af28978e371113fcc6ef67b5fec95efcd80b88c16" ], "markers": "python_full_version >= '3.6.1' and python_full_version < '4.0.0'", - "version": "==2.1.1" + "version": "==2.1.2" }, "robotpy-ctre": { "hashes": [ - "sha256:041810661de9415ff1e8be82581ce975ac44a70dd7cec1079dd6b3b4931adb9d", - "sha256:0af57df0e766d8972ae4c6282b1b0e44f9051115c6dc7e4c11fde94aa1b7b894", - "sha256:1e66a0412ab4bcffdf83f42ba67fd56c9675d84fc47799e20977d5c1599cd4c3", - "sha256:2acd29ece3a61a1542dec868937ba07b035c4aba40630859da3fcefb24322ce5", - "sha256:310f5ee248128fca9a43a5a4284a647aa3666a3347507a0f011ce240443518ec", - "sha256:38f78fb06b8d48194f7698166408dada542bc50f88acc7c9a95111ecb7b5b7c9", - "sha256:3d9a28d966544cbb3525b0a57a991779bceb654bc20447d5f4ceefb46855c417", - "sha256:40f01a98e6373a0632e10b4d91d05366982c24fa419cf8b1817302d9da5b8dc6", - "sha256:5629c1d79a951b216469dbb925b557d11c2d1555f92339c12f28825e6d406b94", - "sha256:88298698c83d26ca6dd6a75c4163b0311588be53e5882cc33b875792f4d5fa68", - "sha256:9fc0d178727c4f8316d3e7fc73c431d1e445a256f85c9bf1099704fea4ba1154", - "sha256:a81f642fd856aba881b902957dccbd247f5e5117575b4f51fb2c7b62cafcb1ed", - "sha256:cb4f92b1e6fc9503a689f3a7da8ca6bae71710e1d1453187a401945d9690a8aa", - "sha256:edad662b312bbb12a8ac1d1c81b4cc75a40f1813561d177674bffc165ec02228", - "sha256:f0685e1218ad9f10721694d012a59c706e988612d4d5a437698f53855aee2b71", - "sha256:fb142a5200f67253c9ce153f93a6609214b5fbe81506da5812a636a5719f0970" + "sha256:0824d9f779d857cc162ac2eeca16efd580db2504212cf0697fc0a8dbdbf173ff", + "sha256:0c0e55aa7084ffca0152fe80bc766707b58471c94fcadcf5045d9ad19a5d1612", + "sha256:36e11260b41bc6c1d68741ef43b7e46bd2a250d0d8e5bf0576705e330eaaf698", + "sha256:4a28016ccf448aca9e2036c7dc0492ee8f974e392f822e25855ce5a7ba6d8a73", + "sha256:4c83d6fd55d07557da5344ff56142daaeac5aafcb1ef9a635faabc5e73327205", + "sha256:57873166ba70cd8c506398e64c5e018c749440b415c2e039dc7381e70563d6c7", + "sha256:700ea276a5303b94cbe0d8806236ee9605672dff359825afe37b8be2888821d4", + "sha256:7083ad8b6c7f1d6ea8f3956a92ec0dc10d36075c42578e64f19334f023bed739", + "sha256:7147864dc27f4c87504a39fb4c232e7bb8c687739312e1592c23b4d320584b51", + "sha256:8b29314af4bfbc377360a10db450d3b9fbc3a9def7dc3668ca899f29d352992c", + "sha256:99849d77e847ba4296784e7f8450b8c9801af9fe94c1ae7480b97a43428dfb5b", + "sha256:b22507e945db6038edff2496f18e1dfdc4e61b38c3b04dc310b9ac14c555fbd3", + "sha256:b5cb6c927658eba8705eeed47c5f1b84c348910408c95cae44a4d1dcc652d163", + "sha256:d93b0308b92f817384ea11e7b58a0abcc5a5073adf7c57f9dcb283d35db25797", + "sha256:eaa66c15bd60f75cb25269b041027a4886e1835b6bd7de44087eaa815afe2e07", + "sha256:ee69fd2bfcb09159f183c546c32af704fc2f911dc99d58377b5dca9726e2fc1b" ], "index": "pypi", - "version": "==2022.1.1" + "version": "==2023.0.0b6" }, "robotpy-hal": { "hashes": [ - "sha256:0f416f79ae946b7012c4574a25b882ca2209a3b5ba1daaa81f03d6a7c599188c", - "sha256:0f587a8476652dd2db8527edd811201b24c4f8675778f12837dfd76b1fa9ddad", - "sha256:2be6c439dd8ab8fb53598eece9b030157f612774c3c70ce269e65be24f926cc3", - "sha256:3e27cdf17fd8792307ee3c7be189683db4128781c7b4b5778d858a82dbab2c79", - "sha256:3ef0005fb9a192bd18c5752f9bb23821405167cf4e4322b27b0c07d03cc7c4bd", - "sha256:4c2c8ad9fdf0d20d2c5ed99b7747ccf42dfefcc8e7a135666a7cd128d1a72043", - "sha256:58a66666a3ad8cf572cb6b51832f9a6b72edaee890c4c4c4aecc8af77d1672d4", - "sha256:58d66704020bca40987f9e17441d0a17feb55d51cb70e8b664f591855feb544b", - "sha256:7cde1e30b37e134139a9cc7d55763f2160b31cf03720bdb434a28f5b9cd390e7", - "sha256:bcb81e807ecaeb77fb8520febab64e4988fc30f7a3e37c83f3631944a76000f8", - "sha256:c4e3219870f4ee1e5f9dad1671f7746aaf566725f582776450ed9318aada655b", - "sha256:ce84891114f35d9ec09aba6373a5d5efd561ec5854bbad24dce29a3d6b3894b4", - "sha256:ce9a4d372d57b8a48c63e66c3a3285c0d420c469e2ab25526b6662222aa7ed88", - "sha256:d277dbab69682f572fdcf7b97af99bc24cf9bcd2d1acd7deb025a94111b611eb", - "sha256:d2a60ce44b9e3940b66368bd1d391aa8455461ee16a4d7284d5905cbf1282d48", - "sha256:d9d9aabbff3d66d7449c30b2fe781b8d3877d20391ac54b21c2b951abb13e0cd" + "sha256:04ecef943798ccad5903db6a0348b395dcbbd1c06452ebaa5c90b80942bba5c1", + "sha256:23fb7dcbdfffa89fc630e3b68997268c05d8ddacffa0192b6801be606c15e1d9", + "sha256:41fcbc8037a4735b0946dda85a6c6e2092d6b5ef268761ded910da773e4f9963", + "sha256:462a7d9192a2095706a02add2ce4e02f660bcae3aaf4baf811856a5056a357af", + "sha256:48711b4d78f9fcf6d5c3f2a5a045aaf93bc4c2b5a8335e58e90cfc4b06913e94", + "sha256:4ef51e8794a7edb6ff7e772c8e8b6c9346568634e47daa0d87a54ffbe8f06281", + "sha256:5d2f162d39555d784779979ec72f54ea6cda70add88c2c25ad828011c9b836f7", + "sha256:68dfb38045d15bedf8efc840cd3d6c1a8e66d978aabf88f6d33131ff27cac82a", + "sha256:8ac2b4089ecd613ace570b92bba79ca8b2790a44545fc3530a3251db292f4894", + "sha256:93d429601740040f482797c4edf8d89278173ac06e77e341154c5473e8d67f21", + "sha256:a5066dd58de07c43f2648059067cce36c3d87c7c23194059a0cc29880179fed3", + "sha256:b3ec21e011d73a7c4cf18eb4b9294335920a1eb24e7dd104741f89a5d402ca3d", + "sha256:b762774c0ddbff0660fa1a6427c9eb8eb4e53ed944c9e7d24a347311ae9ac221", + "sha256:c34adc30e9f786e060b36024f17511d90874fca7812491c98a1edf649e9a5307", + "sha256:d552075e7ae4cbe16285afe92723acca151a62d059c8ca648482d3f15554da91", + "sha256:d580b87d5330c6d45f48ae8564753cb53bcbbe7c9e91d8fa27def0368a7428fd" ], "markers": "python_version >= '3.6'", - "version": "==2022.4.1.1" + "version": "==2023.0.0b7.post1" }, "robotpy-halsim-gui": { "hashes": [ - "sha256:078f5f403ff4d5ed1672a141aeb60f9d5e9d4b3012d43d30ffa3122a6513f6ff", - "sha256:0fdcfcbde9b7fee833db88d783e5b07129bae84aeb2d017024a213c069cc0215", - "sha256:19989e9af4667fd991240377bd236eae5943a92771cfe2bd09c0a08c947135eb", - "sha256:22efb6c301c3474dcede8373ce51c5a3532c77d843d106bdad08065fddd8d613", - "sha256:3122ab3e29830c18f1aeb7ec6ac121b6e34dbdf4cf42dfb987613235a042fc64", - "sha256:3a673c927843bb049141c8614e3d7e6a23d1d083a3c2284a011755a6c5d0e929", - "sha256:4f6c794557589a429d183d48fb5c17c099f3170908308e7ba420ddfa8af1e24a", - "sha256:590ea5154a3ea1dd901ca6b9313ee3523bba5c7b94f68156474c211a72844f8e", - "sha256:602d4bc38e0e66b3ff5959180d12ab4d5c550464fa9371bd038231edb87b8f10", - "sha256:d2fd7f39a6458ef3f9d71dd552de7be757dba41a765b233de38222b1d7126e45", - "sha256:d4f3d26028ab93c435ee02e377c5342353adbab566d70541789e0a2067e87b1d", - "sha256:e133de91543e97c476acd1e727da07ec3c75b9a57f606d7b32bf236894cb8ee5", - "sha256:e3142067dc5f5a484a8618a49fd01011586aba24fde558da1c48b12bbbc497ee", - "sha256:f7ba0a3e4c634be74296c695ab13ff60e8b34ca2400169a072630bf36f7b0b0c", - "sha256:fda4190785fd9c046b1e6241cee39a087643f128e0df8be4542c3444d9afcf8c", - "sha256:ffe085a7f9cf92597c2808a792a29999f385d5647afd26c755fc59e951c939d7" + "sha256:03782ab491137e6d42c80ac1d5db826279dbfb62398e16fecda93180bcea4d4c", + "sha256:10686756434a35d84263b00fc8965ed74f19787a0a13f80bad436c20e2150081", + "sha256:2804b8f00692750ec4976b8dc2136b92cb2fde32a06dd3a14d21bbef13829948", + "sha256:2973da77c94782e8e4d4eb6aeffd47daa2036263e00c9ee618ad3b99b2361982", + "sha256:2f2a20fb2c571e96233e59df7e45aca25cfb2c3ac4d637bde8df08aee32cd277", + "sha256:31de2c80e1630af6299346953813c4b088fce7e3320cefde5858ee3f90afcdfd", + "sha256:506a62369b2c4704dce4340bc0e43bdf5711dd098c24a04d17af0c6d3d3def6f", + "sha256:57324c58dc13d359cd3a5ba8675c18c4c59633f1880eb27854a8dec28fc6bc5f", + "sha256:59cbb5179b5b1854b22da801bbf0eb3ab54008fb2e527d278561e798666dfde3", + "sha256:6e6044b8e185ed62f1100705fbf3fb1591e4e40e6a25b8d059fa6d6c40ed718c", + "sha256:6f90df7a5dab1bd8dc3614f0f2439532a999e19c61155a4442121e448196b930", + "sha256:71e8cb2786430d99cfaa210bb8d538112e129a112aaab2e7598b858af8849823", + "sha256:933ec3a8fe50e3c7953796fdab2d62ffadfe1dde960fcebb6f3bbdcdeeed6e45", + "sha256:bc9285e479e0994338fd7dfb9ff2a671f4b3423471ffb602fbfad02eb25957cd", + "sha256:e9356bc8899286833136c891d27201d10158ec0c1edec3ad4a497a8ae061c8b9", + "sha256:ed97534fd7f50f953de0450be9ff13eb903ed9b18dcc4637eb28a7e1168c90b3" ], "index": "pypi", - "version": "==2022.4.1.1" + "version": "==2023.0.0b7" }, "robotpy-installer": { "hashes": [ - "sha256:0b8bcc47c29242afd972fa5312dedfe8c4a8a09d99c743a19ae85f0b986724a3", - "sha256:dd64c7e1e6fb54c83be275a2913b4a411855e79a0dfd32bcdc8e05c7ece63857" + "sha256:65a230490aa3fee7f1dd27b934cfba4e7a9991946ccc1ffcfe111cf2933aef85", + "sha256:8309c1dbf2c6a95544330cc66398ab5c3efa608dbf6c709fb65910ae65181459" ], "markers": "python_version >= '3.6'", - "version": "==2022.1.1" + "version": "==2023.0.0b5" }, "robotpy-navx": { "hashes": [ - "sha256:000ef51f7910aa0c5689de8985c65cef90e21d97f0292473a978e0bce0094ce4", - "sha256:0b4dfc5ef9a380f151f3309755865f0191507dc364db023ca518daa87d7f20f0", - "sha256:0c117e8699aa578b0b25d023fcd3697bd27da8789e0c2e8615ab6eabfdb1be33", - "sha256:25ae94cbb141cf7aeade1039a112bc5808bd22aa8370765fa493ad356a12255a", - "sha256:290ea09909a792af5e4034578539d71de16a39d8c8d598406c3d07e466aeb2b9", - "sha256:35edb25c25235c118694f8b2009484b62029c86af265f69844022eb8d4184402", - "sha256:68b3d47b78c6f977009814f0f5f85b0412fbfaa75088711b504fa1cedcae1da9", - "sha256:6e9e5c6877669f43c7595fbb68e30a76b5b9f9877d7729da85c7fded75a08c7e", - "sha256:7a1ff33b46929c750683d55bc405c312d006758c63f2a1ec88221d004e1e42b3", - "sha256:85b4730b26b97e52827397a31b3fc1dd6fb4360f479c888c14f834149c45ad57", - "sha256:9a5e16222ded06ddcf1dbd335d1de88e95135f0c7be49596cf6727b847c8d642", - "sha256:c078b07bb340633995f1406fef8b9ed012744c5357bfc4eace15ebf573cf6997", - "sha256:d2bf4f0a5097410ed4894f3b3fab1d0934a307bb449ed4e2cede76430619ac77", - "sha256:e25bb64c2abadeebdeb6df7efd79cb9195bddbd14ed866d485b805ab843b4b37", - "sha256:e30573ddd57f8f061e2ffae2d9858ffa2565964aac8631cf6c5afec72cc2b712", - "sha256:eb9813fd2f84c2990b95fde0a0a4095dff401317c9c9a72d1d1196c683bd59c5" + "sha256:041a44032c3e01282f0aedfe5d755db74f0a2c831ce6679c7b17c044c495c589", + "sha256:2f7f2d616c4968d3ee0bd1a0070daef2fc37938f3cab796ece289a5ef9e8f183", + "sha256:41d2cbe29f58789ba171df192c1d2f7f047ebb0e72f4d6d93c24b01d297467ee", + "sha256:5f1139f5ec909e5f0c48e55d6c87683779e2f286e05cd8a1d601a7c3793f0d74", + "sha256:7649f906f50e20dd301dacc86f87a6cbf2fb741c754da76762bb1a7d5895cc1d", + "sha256:858cb84f4600aac2fb40b1684d012ef96841f6d2eae5b24e204a1fe0e2e5b8d8", + "sha256:a80371c546d478bf764a8e1a26fd5c3b3964dc17f1aa01418c6c1834d399ee47", + "sha256:b0a0e1b09ff257544d4eb0e61990171590def22da9f15cc23b67d6ffe70bffed", + "sha256:b5ecc4951ad5273df7b8789b5b5b84b56ed9b8d001e7169a380b8c72028a2705", + "sha256:ba2425d643d93b19f776923f37d54fe0e177179ac3fa5e5a4593542f748cbadf", + "sha256:d4434ffbfaf12db2fd7ffad9ed732c628a5484c440a996cbb4174282d6e48b28", + "sha256:ebb6e4588009cfa9bf446e0fc350d15acef3f252ff344a647f88bfd2bc44e171", + "sha256:ec3dbb870c3e791f066c9b97de14938f69ca13a0383a6bd1d9690ca89027d970", + "sha256:f17e579292ca5a9a8cf5762188a7f26dcf4956a940032ed38a8c3bdde94d7785", + "sha256:f4db2f9627dc6db9e2a60aa9acffd26c9298c6a310183a52e7a5896ff7210914", + "sha256:fd49a7ae43714a776a8c9bd8fe6eedac41eebd0158961a85d7f279ae5057f765" ], "index": "pypi", - "version": "==2022.0.2" + "version": "==2023.0.0b2" }, "robotpy-photonvision": { "hashes": [ - "sha256:138adb00a89caaab8a961305d15eb85a04da75d8e195a9fe02deaf728b39ce1b", - "sha256:2387022a8816d1e84a0f79536268e404ade0725da4d91ad54db28c82e0b6f1d4", - "sha256:2559b15096eb3f806e624bb68a7974086819418709c73a32a143d5b26f8e85dc", - "sha256:33e3023e05f32f2187ec1606eebd38991dd080261671cd735986d8ac3651346f", - "sha256:39c4f8d56aca0968507b303d99e61b2e9f035e23959d855475c643fe7b4ddbb7", - "sha256:3aeee7189b735eb7daad1509de8e1a137e9f564038a52bba4cbd849ec6d91dc0", - "sha256:65afdbab5ff03411dd5ce3d8f5b5daef63377846d099b80abee8fa4b934560e1", - "sha256:7e227a995d395cdb13b08c616e017be07cde64ade1522ec8ae77aa9bc8d43b44", - "sha256:90c167a0bbfbcb0ce0f8b6fadae962e383e1d5f49134df583f59a98b8d4bd2a4", - "sha256:a801c763d7a23d7a09ff0734b1aa3f43f650918a402927e2455386227d612f6a", - "sha256:b6b8ad0b5cbf7f87c2ee1b742d917317cfdd9cdd29dbfa96eabe45e22ec22238", - "sha256:b95ab4a4ce0721bb13b82535e6ba314c17883cc8d60cec84e3bdcc633e12a872", - "sha256:c8d6c6955392fa7ff96d15af4e0a27bb543b92e88f168daddca83e3e5ba4cae3", - "sha256:dde47e302472adae0912d7c0521dc68158044f90bd5dedda1f9ab35c1850e2e9", - "sha256:e078b99664315b77656684139f32ec152c96d02711e00cc7f5a854248278acc6", - "sha256:fe2f2e0a98955b6318a017920ef2294b34c08914319767ad65a8a65ff5fca36f" + "sha256:0979787081405c59165ed70b89043cd1627d199056cd067f164e54eb27aff87a", + "sha256:0eb05640b51cdced4d0a0fd4a99e8a279a15a58211e649c6ca6cd2a5c165fb7f", + "sha256:110539bf106db23468707dd1e7d2d79b170c9ae8ac024c610c70c1961b26507a", + "sha256:2e8c8fdbf539f015a637a89a54fc725fe41990a9e5ff715413ef84611c3632af", + "sha256:3066c9f72f665fdaf5fa6dd38911fd8418850f5b4f67b30eb838aee056d6d8c5", + "sha256:3f5675606070365dba81bb43ad9c9596e5d197d4273d9fa1f71fa8d1c482ab84", + "sha256:5856c8525190ff541e19e35cdcce64bf0405ff8a8856815fc842cf66a72337eb", + "sha256:98c3e902d09d1ad56b13c8b58001b9374941cfa5fc4a9bf1318fb5f7b8ea3063", + "sha256:ad5f7c025ba56e0f944c78acd3fa2cd4a1506e6aefaf38670663eca9144d8e14", + "sha256:bf3b69e382b72b03a21693b5217164590debc738afc2a77b1c0a4de70d7e92d4", + "sha256:c2e9a1bdea0bea1bf7477ba6fbba9276ebdd60349ee1cad146d33c5a8cd5b2bb", + "sha256:c9481218b16f1d4d21a7eabc3bf212cf9a115b3bfb9310abed7ac6b7f5a6e9ee", + "sha256:d8d57e3d2bfce0e093a8b23f2c54b2a91f0ca9e7032459e058d00845a4fe1b3c", + "sha256:db9820a7d5add1301574500d030cf1f7a1d6055ed235bdf5a1416c00599e2f87", + "sha256:e08597113d4b3dd87f2c584d98b915fe290fc831c41ccac326c2165dff1cb02d", + "sha256:ebee1bfb09dccdc87b91f19a758c70fd05b0dc2ba59f305f27877a17ec22ed75" ], "index": "pypi", - "version": "==2022.1.1" + "version": "==2023.1.1b7" }, "robotpy-rev": { "hashes": [ - "sha256:33ee8b58522ec9cc2ef26bf658b6c4d8fd10c8b330a5510e255f2dca4380f748", - "sha256:38f2f290cf77edac4084b784150c63acaa545c32460392565bc9cee2cedbd0c3", - "sha256:44b104f0bf2c0db9bfcb7c4e0c7dfd017236b9cd083bc83c880d6a7c5b5f3331", - "sha256:4895665d7f6c8e5704286418f590a2f2c12f18dab5e7125be5fdd2d146b7c7be", - "sha256:529a0895d6bbaa6dfc39c9004ccc993f6b2a6643d026a9c13e84e4d6195b6135", - "sha256:77cab66727e331f436bc2fa38430c4a857a4eb32330ccbdf469576579ef66049", - "sha256:8c7a2205c2ec74fdbbd3725176634e40d30d2505e325f2a0ff69f280a820600c", - "sha256:8e0f0a506b76b49f5e66616b9897ed53d330eb8d73810fb8e11795e1b4608073", - "sha256:a9c562c6940bc8ee18dc3159d90a9381002f926b3e363d5a88c9b28a602c3c6a", - "sha256:b3fadf60832385c1f4afff97027b248c871774592802dea315a5cb836d3caae5", - "sha256:e1fa0e319ad5838dc1a0146e122fe99a2f4b7392cc7c5413c62f24d8eace93cf", - "sha256:e8e182129b1f9eeb70da3206176d5dc93d6a899c200208a45c794e3c48f0fbc2", - "sha256:f3cd115ebce6d28f949f91789109c9b697f5eba77b668df38e87162bfe0adc0f", - "sha256:f5bdfa220c926d506fc8bccb1723a274b4e0cb50fd01be4e22b60182e958d919", - "sha256:fabc77a75e51d71fdff19b0adbbcc52a6177ccace2b2acf1100ea25ef995918e", - "sha256:fec101c8a66f278925010a046f75379d2a37d0e6ba681b1ceff493591efbf91b" + "sha256:02da61c57f19c76b0f5a8c661423ee5aaff9d9d369e5bceba6b03840c059abba", + "sha256:0379098725cecc3b1d394a43186a7954a08ffce9e63788549f472d12ff56fce7", + "sha256:0a4f4cef770bf0dc80feb9382e9f06f764f5ba8d0a40ca7f2cd96f7016c8afad", + "sha256:3db474c8a3705fa931e8e29e95bcb7999cfb0d607a08fbc0072c107720d0ef0b", + "sha256:49a887114611a3a31c210a01fff3605c9d02f8a47b6ff8fbfb3470289318e131", + "sha256:49ba83256248b904c79c490000e9cf2807064b2a79567fd6b668840f7e2e0620", + "sha256:4c6b48c9e92c167b210c52754e2364289aad82c4f4f03ff1e50f358e1ed58251", + "sha256:7e457e5d04c58f26fddbdcc643cedee1003f0dac6640d18d610fd08f6014d8ee", + "sha256:a5b79921c9b4dd3e3f1c7b0c18bb55bfc2946de5ca41c9e7892678d95b369395", + "sha256:acaca30c5bc24fb67399bb4612667d34ee428bd794691ff0d4ab6fe63fbbde17", + "sha256:b8dd9b8893341e53104da5888e562848f20b3e236f7fe289c91885b626b1d0a3", + "sha256:e5d1f85934ae20f891e5aaf11f3eb48b0a5618c3899b58ad83c86a9b78ea5895", + "sha256:ecefea36e90b8bfbd80b6c893ed5f63ee3d335c1f1ff6d33e507165507faccd9", + "sha256:ef53caf00b27d766affc2e1415db97ce5d9f2503e29ca88e19e5f2e485c8079d", + "sha256:f8019dd81f641dcad0d13c9aeba1adfe8133c853cd14afe005a63d22b33c5a0f", + "sha256:fdd474962e53f96ee0615cecd475399d782189022d50e0fe5b8c830c69891b13" ], "index": "pypi", - "version": "==2022.0.1" + "version": "==2023.0.0b2" }, "robotpy-wpilib-utilities": { "hashes": [ - "sha256:29cf0a86ca13662ad85843b23ef0ab367ec9b730572e67202a87d81da1c5b920", - "sha256:2f5067277fb42e75e581c2e797d1ccfcb4a53f1a2684a1d682e4e024363eb984" + "sha256:0cc58c90b68b7f7254785b0fcf2f3ee3571f730a1ab5dbfbb422ed9957eac30b", + "sha256:90259398bf3f720038cc558cb8c29db880f46ff7efaaa816c52fcfe1c9b4bc09" ], "index": "pypi", - "version": "==2022.0.5" + "version": "==2023.0.0b2" }, "robotpy-wpimath": { "hashes": [ - "sha256:0a7ee46115ab406cdf0dbd2c8c444d772431269fff0b8edfdc7cf9c47abd5653", - "sha256:245a960f5ec35f29b0d9aa2dc6f176e095f4438d736ec3f0a1b57a107249ae55", - "sha256:29c88ecfb0ac449c1e608178ae5b3d96ff5b084abe99699cabd72eaeb8100c18", - "sha256:457cae41679f3b456587ecbf6db7ab56ef93627676306cc71d0c35ab67d19903", - "sha256:49c9a468671ab74c18b3c5f7ab1e7a3f7382dce5a2cb4b2f0c4db6613a251a11", - "sha256:69641a7ee6a01d1e08d6b99b823d889e50872c963e514215936a2715934ed9b0", - "sha256:96df9319226a761c1673bf17da49e799ab5d3da68d21a50c75893eb855b8a35d", - "sha256:9c88969df06a98a11cddf5e2e5651dc70385855c0348998e0b786b682a5581f0", - "sha256:bcfdcc0c92aa277bbc62e0ac8a17b7d6c6de3e05ab895cf9525bd4336ec78546", - "sha256:c2c70e5d48877699a1ea07b7b2b120bcc0244935eb42a32f8f43e5318b6ae5e4", - "sha256:c45e620b81263ac3d1ab047ab81ec33b6efd39588ace7fb17f35f99abe132bee", - "sha256:c62eab91260653400fd50f26657aac20e41ef1e3db05abc36e086c3d66b00661", - "sha256:ce37ba1f93f7fc6b91ec354cd2052457d0f09686cbb6f5799ad4894809da43bf", - "sha256:db2c6b4c6af74b61466f5a1251c7082aab11618735ffb0bc507e18f70c0a60af", - "sha256:dbe273820054da1d74b3f9295e18cffb9202684772c769a3951e1d43c965f945", - "sha256:ec19f6b9e5a8960093b41bdb3d5487ef2d249e8914ac59528691e9db4e3e4f38" + "sha256:0ee296e303e7058678a835bcc0a344f04e6f27de33036b7838136241915e2129", + "sha256:388dd3532ad15883f18a6cbb0060d806b3bb8bd15aa9682807616ca4148dc198", + "sha256:3c3f6aea3360162340997ff0a682f97c598fc5fab619f96cfbcb70c7fab0514b", + "sha256:469681164e1922c2123d9d20e2e1664fba0dadebe561031fa464e033cd0bc841", + "sha256:56b1e7f7d9f08106553107ad0973e049b92616a55a3431f4d7a2ed3b125a4d97", + "sha256:59fe041986aa25bbdd1aca951de2aac0d23588ee0390fcf105d745bd54f739c4", + "sha256:889ea42cf13bb9502e2fdc0f7777e13823492c4dbe8e73815a17aa83a70fd8c1", + "sha256:9353fbe9156bdd259be0de2b484f6ad3c030614647ac02a3d7137a77653d4543", + "sha256:a2f1f8d277ae176443a499038a70e10f9d0051c08fc9c0edb0405de49301d223", + "sha256:a8e28db8ca486eb595397cba0037b6aa73cfd8338af16f7090d5cfde448dce21", + "sha256:aa8f3311d73e99e480fa7c998e5c0dfe8402b5b0926b61ebcf0275290ef144f9", + "sha256:af88cf0be32806eb77aa008fe4d334b1c45d6701ed9329cdac37195aa5db5807", + "sha256:b766470cdb6e6b8f542d9e0c801c94ee6496b8788ca7bb4e908288241af5a4a9", + "sha256:df05d75c8726cb901f0ea978e17e91917ece59983c663a5206ba8edf7911bada", + "sha256:fb16db6c38b6836d3453c524c04bab03f371f5695f0f8bc7546c5be830c67f19", + "sha256:fe56dd2d204e6e15ca3beeca46f8a61505cdcefcb0452a6450f9497a8004cd91" ], "index": "pypi", - "version": "==2022.4.1.1" + "version": "==2023.0.0b7" + }, + "robotpy-wpinet": { + "hashes": [ + "sha256:3cf2728cf288c46cecd28197cd370353ddc50a3f009eac257399e776be8f686e", + "sha256:5278f859b3b5034d0b65f484e6dc60c3a09c93ac1db48e1e66481f8d95a808eb", + "sha256:5a9e505576b02402008628432c46feecda5811498de068e8cadba98bce468db9", + "sha256:7ce13f789dcbd71ebd3b8a8135a06a70e050729c1316a6792d42efa89c35f008", + "sha256:8663c4fefed3f52094055a33c3a69237df6da71e11684d1c308ae951145e02d6", + "sha256:8efa62527ed63dddc924158a9a50ba70f894eefe03544ca7f21e95dee192d0aa", + "sha256:97f12411df27c386d7060558ffbd2aaca3cd8494d4b3490a1e3040cdf639a231", + "sha256:a587771b938663d0640687487813dbf201cbc982d1c0b952b3014214e3c2cb32", + "sha256:af3c88933335564a77fe92881fae37ce7a8a49ab547d5cbd85f045b3c5c00e1c", + "sha256:b15339ebfe5dff1d74d52421dd87a3aba5972e460fce00929fa6b41953103ca5", + "sha256:beb7b879d16456e950286b65056ffe7eb34e0787323a6f2779a01d0407dd190e", + "sha256:da1589f396f3c3bf4e996b568bafa6fa0701b4b8272756fcf65f3ed796f0928f", + "sha256:e7c140e6dc86142f2163cd2ba48f81039782116bdc2cb418f7d3d107e4d944d1", + "sha256:e7d60acc404fb25aae3efdfcdabfcb467da828b16779156399d93aab1b6ca663", + "sha256:fd1a3766ea5aaf8b0877be863cfa669148b860fcc0d308daba53c2b799870088", + "sha256:ff0a21641e3403524c58801ec73abb8a77e637385c3d8e979f9b03825d524252" + ], + "markers": "python_version >= '3.6'", + "version": "==2023.0.0b7.post1" }, "robotpy-wpiutil": { "hashes": [ - "sha256:121fb8e339791e7a56cc0656a83ef24c0cb8b3b0e5f4e9aae899df78735477e0", - "sha256:166a04e905eb4a616aa0c26e75415162ccf8964b3cfe44eef9bd9f55e9d56cea", - "sha256:317f1a6d389deaecace2f55a6b3f2c4f688119d5a3ef28aeffa6054f050d350e", - "sha256:37ede1c2de93c762e7f1b64a2ed0d7270d8b83206e765aeff73e2e9cafac13af", - "sha256:4b1b3fececb7af78c82ddb684ec2caa5dce9588383c928fc4081b036580e78be", - "sha256:79b0b48688b0b660614d2d1c923332ff8f4ab6774cc5ad0014da3a4824072732", - "sha256:7b2c1807ee87d26f85914887d561e4a4a8c0a87b7ada6994013aa2e3431c80c1", - "sha256:89d1fbea4a317d66943dc651db788c45d2cc14be27dc9ccb33bae8b66973f748", - "sha256:9463d3924c9e75fa8e5df6ff48673557864404ced23da9e6485265ade7cdc198", - "sha256:a4753e0bfc8d79bb5efc5cf1bf34d14eb33b63be3539468fc2c844f4afecf486", - "sha256:b01115f224b562e7b23e09598620b950a9b80084894235cb9e238da706e1aa12", - "sha256:b2ef708d0c91dfc5321ac6ee86d2dbf921866d16aaf24cdea9ae28ff2840c618", - "sha256:c46ee2f1a23e5a1f492f25b9199ba508f8ff014c5b73b74f95535c648f7b44f3", - "sha256:c529551f2ae9962297633018cdf1190289b2bd82569109fcc446491758a3c3c5", - "sha256:cac2bfdb5160926179d078cf72445b7ef857133bb759222c4c21e63384a07792", - "sha256:d72954a6b19cc223e852cca89537ff8daa6366301a0c712c4f0e49c1f89047f7" + "sha256:0629c865e4ecd528cce166f8c8e7286b63a4f9ff6e535ec1b6b85bde2e924b26", + "sha256:1753457b166931ac0d45286efa2c35160cab139fdec4b3ed3c684fb25709aaf8", + "sha256:2370570b0d43735be42a0a9e228778c2f351585160145eefb1f91c0dee89c45e", + "sha256:252b16e972fa0fe481958e3dbfde73b67e6fc1996fb7386267e438ed2e757e0d", + "sha256:4ec913d6fa9806d49dfad16b1cfafd11a1d27ddacd59fbfdc341ab1c60bcaf84", + "sha256:5ab3ceccd30fb062cbbeffa263fa836879ebdbee66206b8378d66c30a8582aa2", + "sha256:628c96776c6d23717cd6b2caf5d18cc9ec6c70343430672c7ee3dcfc93bab3dc", + "sha256:70941b33a98d28bfc617baa02089c0c73f5ad4c81d88cbe27ad7a298353ec41e", + "sha256:7976020c9def681c00327f0b7a0e98b34185f919212e9ab58982430bf8086490", + "sha256:8dc7aed084c8fcde4b2f63da953038c54e4c05041be5078230b1e7dddbaf480c", + "sha256:a10a19ebfff85486c03da312ca7d5c2012de331644170a4e64dbfaae7bb2644b", + "sha256:bc1de1ebe029f5d24c1b5e2a0904145196d5a8da734ca657e35ec2ec93ad36cc", + "sha256:c4d6e370bbd3dd5c3713bc6c27fee47e0be966cc689a3b6a75887fed2ac80a70", + "sha256:d4cfba2e80d38598759ee61510c28b28d6d2154a7f14eece3bf02aeeef9ebb6e", + "sha256:e43411b078ded0045ab141f1eeb02964ac52660587566bc1505466230d56659b", + "sha256:fb214910effe0555ee449bc8978d54bdf328361103525c1c4c3a971ee4d94a9c" ], "index": "pypi", - "version": "==2022.4.1.2" + "version": "==2023.0.0b7" }, "six": { "hashes": [ @@ -494,53 +531,45 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.1" - }, "wpilib": { "hashes": [ - "sha256:042ff3c2eeae85fb4dc78464c14a35fd8c91beb646d2df0a9f18dd8209b16a81", - "sha256:0dae9b2357697a2d008481ef50efedcf726100e0842fbc99774deb2708f6b4d6", - "sha256:23ed1d47ee4a92b5a233c1ffea9fca57e254ca1401c97e46169e8cecd4bfacd4", - "sha256:243edf478432bf5fa154e2068881addbaa6bd3724bf9ae7fb54fc941b7561a69", - "sha256:3f416e198761908cf15f7c5e88592a819df76c1de7f6a68af975dad26cbdde94", - "sha256:47cf08364a36b4c7290d623b3b5119353634bb497a6b9865e8d7de2b70b23ebc", - "sha256:53ff4848aef8c6cf3928835110b0eba22a272c9961ed2dcf2414d2753c5c6f56", - "sha256:68d16a3f48e8f6289a9f6f4e8887ed92a2c2028be09dc6523a80380d52991e49", - "sha256:81fa5f484613e5ac3aa87d02ea24c9718927a9095f35bb0e8a9f2f70389f38ae", - "sha256:9e5ac74d4fe3c3b712d6f1a0f0e0cc0134a7423de39b66df1ac5826d4bf4589f", - "sha256:9e8d60d1c5a72a639dc3c830f1be04cc5829c7a7537b3af13116ae0f81aec26b", - "sha256:a7e49005bfc4f9069b67406b358a155052450225b0a93cf4652715467f5a2521", - "sha256:bc361019903892cd0dd126844be14db5e31ba9b365533dab43dce05abfcfeaec", - "sha256:c2e3c937211a92afbe543e10ee1ea6489428493c9f411b051136e9ab534447e6", - "sha256:c46b5c02a1df65fca71ddd3b0c6b83a3d8c7d07aecd082f0dc86cb2eb55cb561", - "sha256:f5e447359e4d2e8796f468809af72fecddee056d05ff43b9c9d1ad7b2ad4214d" + "sha256:10db137eb8384e80af9ea35f13080c0007e1e8e271403a576cfb153f80abef79", + "sha256:211ef0d776c7d09fc49f890d5d7bc99cb876c6b8cf86f225eb6b3105cea94ece", + "sha256:40f3e60cf86c4bacd4c168a4f640335d81b48073074905effca9c0a1cf868c70", + "sha256:71443a4b576b7dbf37a589f56b844f6f3744918293aeffa8ed8bcf174afbdb84", + "sha256:7346ca8ad9f94d8820d37d8e0f47775e91f0fde1566f392d7dfdc5ef6cb9f211", + "sha256:803f09a8998331e46c76fd6154b7f0c23f595dec1e9d3d6bad2277b502a0ebe6", + "sha256:884828a70bff63ebb58fe59fff04494b7a5f722e8c4a88a7872af98d63b697fd", + "sha256:9322b4831310b6a79f91fa6f53afaee467fb5e6fa1aaedf87d3d7f027ebba2b8", + "sha256:97f4b795902904e0201997b2454a88136a997aceb9175da6adbd20622eb20629", + "sha256:a7dc1788ab7682472ed184e90cf175582ec63b8907288af6986140f4164c2070", + "sha256:b457d3d8a81e968b7197921f6d79309ed4b2ee7a5ab62306f355b51a8d598784", + "sha256:cc0048c6dda48ea9409b8a33b80846b30ad43de33a32bb1c68bd01cc23fae807", + "sha256:d401ed8d308e53718f842f0ca928061eedbd56874bdc170e6e9019f2f0605d10", + "sha256:eaacb1314d484be095c7aa1e9820b94ecbada8121817c9d03672be4036867c1c", + "sha256:f2b5bffeea7374f3e872783418705b0f3095254a7f788c1d62576f41a07094cc", + "sha256:f55097cf592696bc6bd902ea5fd3cc485ac3265cdcd3d3cb6f763c796ede010f" ], "index": "pypi", - "version": "==2022.4.1.5" + "version": "==2023.0.0b7" } }, "develop": { "attrs": { "hashes": [ - "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", - "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" + "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", + "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==21.4.0" + "markers": "python_version >= '3.6'", + "version": "==22.2.0" }, "hypothesis": { "hashes": [ - "sha256:41503e20a246ab4522d78f2df8afc40fd7349eeaf0fe07cdc233069c671e6e35", - "sha256:f60b1dfaa8c2175c40513449f9c49b7543d50e66e16a5e22cf5fca460e864037" + "sha256:7bb22d22e35db99d5724bbf5bdc686b46add94a0f228bf1be249c47ec46b9c7f", + "sha256:fbf7da30aea839d88898f74bcc027f0f997060498a8a7605880688c8a2166215" ], "index": "pypi", - "version": "==6.39.4" + "version": "==6.61.0" }, "iniconfig": { "hashes": [ @@ -551,11 +580,11 @@ }, "packaging": { "hashes": [ - "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", - "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", + "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" ], - "markers": "python_version >= '3.6'", - "version": "==21.3" + "markers": "python_version >= '3.7'", + "version": "==22.0" }, "pluggy": { "hashes": [ @@ -565,29 +594,13 @@ "markers": "python_version >= '3.6'", "version": "==1.0.0" }, - "py": { - "hashes": [ - "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", - "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.11.0" - }, - "pyparsing": { - "hashes": [ - "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", - "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" - ], - "markers": "python_version >= '3.6'", - "version": "==3.0.7" - }, "pytest": { "hashes": [ - "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63", - "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea" + "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", + "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59" ], "markers": "python_version >= '3.7'", - "version": "==7.1.1" + "version": "==7.2.0" }, "sortedcontainers": { "hashes": [ @@ -595,14 +608,6 @@ "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0" ], "version": "==2.4.0" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.1" } } } diff --git a/autonomous/autonomous.py b/autonomous/autonomous.py index 9bf3894..f38f641 100644 --- a/autonomous/autonomous.py +++ b/autonomous/autonomous.py @@ -148,7 +148,7 @@ def move(self, tm: float) -> None: self.chassis_speeds = self.drive_controller.calculate( currentPose=current_pose, desiredState=target_state, - angleRef=target_heading, + desiredHeading=target_heading, ) self.chassis.drive_local( self.chassis_speeds.vx, self.chassis_speeds.vy, self.chassis_speeds.omega diff --git a/components/chassis.py b/components/chassis.py index 17e5dbf..c031ef5 100644 --- a/components/chassis.py +++ b/components/chassis.py @@ -11,6 +11,7 @@ from wpimath.kinematics import ( SwerveDrive4Kinematics, ChassisSpeeds, + SwerveModulePosition, SwerveModuleState, ) from wpimath.geometry import Translation2d, Rotation2d, Pose2d @@ -103,6 +104,9 @@ def get_rotation(self) -> Rotation2d: def get_speed(self) -> float: return self.drive.getSelectedSensorVelocity() * self.DRIVE_COUNTS_TO_METRES * 10 + def get_distance_travelled(self) -> float: + return self.drive.getSelectedSensorPosition() * self.DRIVE_COUNTS_TO_METRES + def set(self, desired_state: SwerveModuleState): if abs(desired_state.speed) < 1e-3: @@ -134,6 +138,9 @@ def sync_steer_encoders(self) -> None: self.get_absolute_angle() * self.STEER_RAD_TO_COUNTS ) + def get_position(self) -> SwerveModulePosition: + return SwerveModulePosition(self.get_distance_travelled(), self.get_rotation()) + def get(self) -> SwerveModuleState: return SwerveModuleState(self.get_speed(), self.get_rotation()) @@ -228,11 +235,11 @@ def setup(self) -> None: self.sync_all() self.imu.zeroYaw() self.estimator = SwerveDrive4PoseEstimator( - self.imu.getRotation2d(), - Pose2d(0, 0, 0), self.kinematics, + self._get_imu_heading(), + self.get_module_positions(), + Pose2d(0, 0, 0), stateStdDevs=(0.1, 0.1, math.radians(5)), - localMeasurementStdDevs=(0.01,), visionMeasurementStdDevs=(0.5, 0.5, 0.2), ) self.field_obj = self.field.getObject("fused_pose") @@ -265,12 +272,10 @@ def execute(self) -> None: # rotation2d and translation2d have mul but not div control_rate = 1 / dt chassis_speeds = self.kinematics.toChassisSpeeds( - ( - self.modules[0].get(), - self.modules[1].get(), - self.modules[2].get(), - self.modules[3].get(), - ) + self.modules[0].get(), + self.modules[1].get(), + self.modules[2].get(), + self.modules[3].get(), ) cur_trans_vel = Translation2d(chassis_speeds.vx, chassis_speeds.vy).rotateBy( self.get_rotation() @@ -299,7 +304,9 @@ def sync_all(self) -> None: def set_pose(self, pose: Pose2d) -> None: self.pose_history.clear() - self.estimator.resetPosition(pose, self.imu.getRotation2d()) + self.estimator.resetPosition( + self._get_imu_heading(), self.get_module_positions(), pose + ) self.update_pose_history() self.field.setRobotPose(pose) self.field_obj.setPose(pose) @@ -321,9 +328,14 @@ def zero_yaw(self) -> None: # a misake copied from diff drive pose estimator # beacuse we never pass the encoder distances to the estimator self.estimator.resetPosition( - Pose2d(cur_pose.translation(), Rotation2d(0)), self.imu.getRotation2d() + self._get_imu_heading(), + self.get_module_positions(), + Pose2d(cur_pose.translation(), Rotation2d(0)), ) + def get_module_positions(self): + return tuple(module.get_position() for module in self.modules) + def get_pose(self) -> Pose2d: """Get the current location of the robot relative to the goal.""" return self.estimator.getEstimatedPosition() @@ -332,6 +344,10 @@ def get_rotation(self) -> Rotation2d: """Get the current heading of the robot.""" return self.get_pose().rotation() + def _get_imu_heading(self) -> Rotation2d: + """Get the heading from the IMU.""" + return self.imu.getRotation2d() + def get_pose_at(self, t: float) -> Pose2d: """Gets where the robot was at t""" return self.pose_history.sample(t) @@ -349,11 +365,8 @@ def robot_to_world( def update_odometry(self) -> None: self.estimator.update( - self.imu.getRotation2d(), - self.modules[0].get(), - self.modules[1].get(), - self.modules[2].get(), - self.modules[3].get(), + self._get_imu_heading(), + self.get_module_positions(), ) self.field_obj.setPose(self.get_pose()) diff --git a/components/vision.py b/components/vision.py index 72e3481..a0e1996 100644 --- a/components/vision.py +++ b/components/vision.py @@ -13,8 +13,6 @@ ) from wpimath.geometry import Pose2d, Transform2d, Translation2d, Rotation2d -import random - class Vision: """Communicates with limelight to get vision data and calculate pose""" @@ -48,6 +46,7 @@ def _camera_to_robot(self) -> Transform2d: def __init__(self) -> None: self.camera = PhotonCamera("gloworm") + """ if wpilib.RobotBase.isSimulation(): self.sim_vision_system = SimVisionSystem( "gloworm", @@ -69,6 +68,7 @@ def __init__(self) -> None: ) ) self.camera = self.sim_vision_system.cam + """ self.camera.setLEDMode(LEDMode.kOn) self.max_std_dev = 0.05 @@ -83,6 +83,7 @@ def setup(self) -> None: self.field_obj = self.field.getObject("vision_pose") def execute(self) -> None: + """ if wpilib.RobotBase.isSimulation(): # Create some vision target results pose = self.field.getRobotPose() @@ -106,6 +107,7 @@ def execute(self) -> None: newCamPitch=math.degrees(self.CAMERA_PITCH) + random.gauss(0.0, 0.5), ) self.sim_vision_system.processFrame(pose) + """ results = self.camera.getLatestResult() self.has_target = results.hasTargets() diff --git a/physics.py b/physics.py index f657a15..fca5236 100644 --- a/physics.py +++ b/physics.py @@ -120,7 +120,7 @@ def update_sim(self, now: float, tm_diff: float) -> None: ], tuple([module.get() for module in self.swerve_modules]), ) - speeds = self.kinematics.toChassisSpeeds(states) + speeds = self.kinematics.toChassisSpeeds(*states) self.imu_yaw.set(self.imu_yaw.get() - math.degrees(speeds.omega * tm_diff)) diff --git a/requirements-sim.txt b/requirements-sim.txt index 1c2a959..1b421b7 100644 --- a/requirements-sim.txt +++ b/requirements-sim.txt @@ -1,3 +1,3 @@ -pyfrc ~= 2022.1.2 -robotpy-halsim-gui ~= 2022.4.1 +pyfrc==2023.0.0b4 +robotpy-halsim-gui==2023.0.0b7 -r requirements.txt diff --git a/requirements-test.txt b/requirements-test.txt index b1e896e..cce5beb 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,4 +1,4 @@ hypothesis -pyfrc ~= 2022.1.2 +pyfrc==2023.0.0b4 pytest -r requirements.txt diff --git a/requirements.txt b/requirements.txt index ac8db26..660cbda 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,9 @@ -numpy ~= 1.22.1 -robotpy-ctre ~= 2022.1.0 -robotpy-navx ~= 2022.0.1 -robotpy-rev ~= 2022.0.1 -robotpy-wpilib-utilities ~= 2022.0.5 -robotpy-wpimath ~= 2022.4.1.1 -robotpy-wpiutil ~= 2022.4.1.1 -wpilib ~= 2022.4.1.5 -robotpy-photonvision ~= 2022.1.0 +numpy==1.24.1 +robotpy-ctre==2023.0.0b6 +robotpy-navx==2023.0.0b2 +robotpy-rev==2023.0.0b2 +robotpy-wpilib-utilities==2023.0.0b2 +robotpy-wpimath==2023.0.0b7 +robotpy-wpiutil==2023.0.0b7 +wpilib==2023.0.0b7 +robotpy-photonvision==2023.1.1b7 diff --git a/robot.py b/robot.py index 5b2782a..29aa30b 100755 --- a/robot.py +++ b/robot.py @@ -113,7 +113,7 @@ def createObjects(self) -> None: except ImportError: self.logger.exception("Could not import CameraServer") else: - CameraServer.getInstance().startAutomaticCapture() + CameraServer.startAutomaticCapture() def autonomousInit(self) -> None: self.shooter_control.lead_shots = False diff --git a/tests/pyfrc_test.py b/tests/pyfrc_test.py index 2519292..e9f220c 100644 --- a/tests/pyfrc_test.py +++ b/tests/pyfrc_test.py @@ -1,14 +1,13 @@ # NB: autonomous is tested separately in autonomous_test.py from pyfrc.tests import ( # type: ignore - # Running all the tests seems to segfault, but a subset seems okay? - # test_disabled, - # test_operator_control, + test_disabled, + test_operator_control, test_practice, ) # Make pyflakes happy about our imports. __all__ = ( - # "test_disabled", - # "test_operator_control", + "test_disabled", + "test_operator_control", "test_practice", )