{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":185628694,"defaultBranch":"master","name":"pybricks-micropython","ownerLogin":"pybricks","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-05-08T15:03:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/44464422?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717614589.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"8387de03cc9f41cf5bda3abafb223afb1553c08a","ref":"refs/heads/storage","pushedAt":"2024-06-05T19:09:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/sys: Rename program_load to storage.\n\nThis will store program data, user data, and soon system settings. We also previously moved the load part to another file.\n\nSo this can just be storage, which is easier to follow. This is a blanket rename that does (should) not change any code.","shortMessageHtmlLink":"pbio/sys: Rename program_load to storage."}},{"before":"395315faf95b9a79c3cc1ea4eebe79fb1685168d","after":"3e29eb35dfffc152bea12131ec4b9b0e53da930c","ref":"refs/heads/toggle-bluetooth","pushedAt":"2024-06-05T08:24:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/protocol: Don't use status flag for BLE enabled.\n\nThis reverts 8c8340b6814c15a74a5ed1040cfe7ebc241f57fd.\n\nAt this point, we don't need an extra status flag. Bluetooth is the only communication method, and we can't communicate a status if it is disabled.\n\nSo we can avoid changing the protocol for now. We can add appropriate flags if we add USB support, in which case communicating the active connection type may make sense.","shortMessageHtmlLink":"pbio/protocol: Don't use status flag for BLE enabled."}},{"before":"893663cf0343ea2d419473d3d12928752ef71917","after":"395315faf95b9a79c3cc1ea4eebe79fb1685168d","ref":"refs/heads/toggle-bluetooth","pushedAt":"2024-06-04T13:57:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/sys/supervisor: Further generalize idle condition.\n\nBeing not-connected naturally extends to USB when we add it.","shortMessageHtmlLink":"pbio/sys/supervisor: Further generalize idle condition."}},{"before":null,"after":"893663cf0343ea2d419473d3d12928752ef71917","ref":"refs/heads/toggle-bluetooth","pushedAt":"2024-06-04T13:30:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/sys/status_light: Enable Bluetooth light.","shortMessageHtmlLink":"pbio/sys/status_light: Enable Bluetooth light."}},{"before":"108d3152bb7d2f9143bf836d3496a8dca8c6b7da","after":"13c77cca8e921e7bd9ef458bc6705e3ab502e04c","ref":"refs/heads/hostbuffer","pushedAt":"2024-05-09T08:48:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.HostBuffer: Unpack values.","shortMessageHtmlLink":"pybricks.tools.HostBuffer: Unpack values."}},{"before":null,"after":"108d3152bb7d2f9143bf836d3496a8dca8c6b7da","ref":"refs/heads/hostbuffer","pushedAt":"2024-05-09T08:30:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.HostBuffer: Unpack values.","shortMessageHtmlLink":"pybricks.tools.HostBuffer: Unpack values."}},{"before":"d860278c7dd776512c24755241458bc93863c69e","after":"79a0e010ac36fb64593d5ef5b213b64f1a03985b","ref":"refs/heads/master","pushedAt":"2024-04-11T12:33:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"@pybricks/firmware/v7.17.0","shortMessageHtmlLink":"@pybricks/firmware/v7.17.0"}},{"before":"13dd65d68ef0ee5dc2fe87d21c43d7395596dd79","after":"d860278c7dd776512c24755241458bc93863c69e","ref":"refs/heads/master","pushedAt":"2024-04-05T08:40:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"@pybricks/firmware/v7.16.0","shortMessageHtmlLink":"@pybricks/firmware/v7.16.0"}},{"before":"a289bb1affbeada828d36c86ef506a04b3e2402f","after":"13dd65d68ef0ee5dc2fe87d21c43d7395596dd79","ref":"refs/heads/master","pushedAt":"2024-04-05T08:18:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools: Don't block on task cancellation during shutdown.\n\nIf a noncancellable task gets stuck, we still want to be able to shut down.\n\nhttps://github.com/pybricks/support/issues/1585","shortMessageHtmlLink":"pybricks.tools: Don't block on task cancellation during shutdown."}},{"before":null,"after":"13dd65d68ef0ee5dc2fe87d21c43d7395596dd79","ref":"refs/heads/work","pushedAt":"2024-04-05T08:11:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools: Don't block on task cancellation during shutdown.\n\nIf a noncancellable task gets stuck, we still want to be able to shut down.\n\nhttps://github.com/pybricks/support/issues/1585","shortMessageHtmlLink":"pybricks.tools: Don't block on task cancellation during shutdown."}},{"before":"a17576bec2177c8e68c3b10e717efc75ea7f2358","after":null,"ref":"refs/heads/nxt","pushedAt":"2024-04-04T19:43:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"}},{"before":"dcd42ae1c4a36b8e17c07f801658d11f6b87e386","after":null,"ref":"refs/heads/debug-broadcast","pushedAt":"2024-04-04T19:43:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"}},{"before":"1d0f9874aa21248b701544829fccd10888026ea7","after":null,"ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T18:44:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dlech","name":"David Lechner","path":"/dlech","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/963645?s=80&v=4"}},{"before":"a289bb1affbeada828d36c86ef506a04b3e2402f","after":null,"ref":"refs/heads/read-data","pushedAt":"2024-04-04T18:43:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dlech","name":"David Lechner","path":"/dlech","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/963645?s=80&v=4"}},{"before":"1d0f9874aa21248b701544829fccd10888026ea7","after":"a289bb1affbeada828d36c86ef506a04b3e2402f","ref":"refs/heads/master","pushedAt":"2024-04-04T18:33:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/sys/program_load: Allow reading user program.","shortMessageHtmlLink":"pbio/sys/program_load: Allow reading user program."}},{"before":"f2fd83eb3985ab3cbfecd3808520d28683408e9d","after":"a289bb1affbeada828d36c86ef506a04b3e2402f","ref":"refs/heads/read-data","pushedAt":"2024-04-04T18:30:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pbio/sys/program_load: Allow reading user program.","shortMessageHtmlLink":"pbio/sys/program_load: Allow reading user program."}},{"before":"a0d063b56cf6a9e47bea913f5343ff9050708cb9","after":"1d0f9874aa21248b701544829fccd10888026ea7","ref":"refs/heads/master","pushedAt":"2024-04-04T18:27:23.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.pupdevices.Remote: Use dedicated guard.\n\nThe virtualhub has pupdevices but no Bluetooth.","shortMessageHtmlLink":"pybricks.pupdevices.Remote: Use dedicated guard."}},{"before":"96fa9653a041e1761d7b200c9073f24230d05386","after":"1d0f9874aa21248b701544829fccd10888026ea7","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T18:10:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.pupdevices.Remote: Use dedicated guard.\n\nThe virtualhub has pupdevices but no Bluetooth.","shortMessageHtmlLink":"pybricks.pupdevices.Remote: Use dedicated guard."}},{"before":"a0d063b56cf6a9e47bea913f5343ff9050708cb9","after":null,"ref":"refs/heads/work","pushedAt":"2024-04-04T14:52:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dlech","name":"David Lechner","path":"/dlech","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/963645?s=80&v=4"}},{"before":"d3f380008de32d65d0b5c7c9209d3015c911ab2d","after":"96fa9653a041e1761d7b200c9073f24230d05386","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T14:18:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.iodevices.lwp3device: Add disconnect method.\n\nFixes https://github.com/pybricks/support/issues/802","shortMessageHtmlLink":"pybricks.iodevices.lwp3device: Add disconnect method."}},{"before":"da330e5e3d9bc45f25e11cdf61483f4becb492ca","after":"d3f380008de32d65d0b5c7c9209d3015c911ab2d","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T14:06:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.iodevices.lwp3device: Add disconnect method.\n\nFixes https://github.com/pybricks/support/issues/802","shortMessageHtmlLink":"pybricks.iodevices.lwp3device: Add disconnect method."}},{"before":"fb4b123a60293f618afa87e97fdca0540c1c2c06","after":"da330e5e3d9bc45f25e11cdf61483f4becb492ca","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T13:15:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"micropython: Stop de-init on forced shutdown.\n\nWhile MicroPython has a vm abort, several pbio tasks are started after this. If they get stuck, the hub cannot shut down.\n\nThis completes the unification of the de-init tasks and adds a break for a shutdown request.","shortMessageHtmlLink":"micropython: Stop de-init on forced shutdown."}},{"before":"5ed75064169308d14a5d844747bfe9a3e325792e","after":"fb4b123a60293f618afa87e97fdca0540c1c2c06","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T13:15:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks: Unify deinit by queueing noop task.","shortMessageHtmlLink":"pybricks: Unify deinit by queueing noop task."}},{"before":null,"after":"5ed75064169308d14a5d844747bfe9a3e325792e","ref":"refs/heads/bluetooth-stop","pushedAt":"2024-04-04T13:05:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"micropython: Stop de-init on forced shutdown.\n\nWhile MicroPython has a vm abort, several pbio tasks are started after this. If they get stuck, the hub cannot shut down.\n\nThis completes the unification of the de-init tasks and adds a break for a shutdown request.","shortMessageHtmlLink":"micropython: Stop de-init on forced shutdown."}},{"before":"46f29c09430c1e2fef4b47a1c830910082256404","after":"a0d063b56cf6a9e47bea913f5343ff9050708cb9","ref":"refs/heads/master","pushedAt":"2024-04-04T13:05:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.read_input_byte: Allow chr conversion of last byte.\n\nThe default behavior remains the same, but you can now optionally do:\n\nread_input_byte(chr=True, last=True)\n\nto apply the chr() function and discard all up to the last byte.","shortMessageHtmlLink":"pybricks.tools.read_input_byte: Allow chr conversion of last byte."}},{"before":"cccba6e1d643daaccdad4c313de323f0df380173","after":"a0d063b56cf6a9e47bea913f5343ff9050708cb9","ref":"refs/heads/work","pushedAt":"2024-04-04T12:59:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.read_input_byte: Allow chr conversion of last byte.\n\nThe default behavior remains the same, but you can now optionally do:\n\nread_input_byte(chr=True, last=True)\n\nto apply the chr() function and discard all up to the last byte.","shortMessageHtmlLink":"pybricks.tools.read_input_byte: Allow chr conversion of last byte."}},{"before":"95e0b1098696c7793682257a9bdf8baf8b25a4fe","after":"cccba6e1d643daaccdad4c313de323f0df380173","ref":"refs/heads/work","pushedAt":"2024-04-03T07:02:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.read_input_byte: Allow chr conversion of last byte.\n\nThe default behavior remains the same, but you can now optionally do:\n\nread_input_byte(chr=True, last=True)\n\nto apply the chr() function and discard all up to the last byte.","shortMessageHtmlLink":"pybricks.tools.read_input_byte: Allow chr conversion of last byte."}},{"before":"46f29c09430c1e2fef4b47a1c830910082256404","after":"95e0b1098696c7793682257a9bdf8baf8b25a4fe","ref":"refs/heads/work","pushedAt":"2024-03-29T18:52:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.tools.read_input_byte: Allow chr conversion of last byte.\n\nThe default behavior remains the same, but you can now optionally do:\n\nread_input_byte(chr=True, last=True)\n\nto apply the chr() function and discard all up to the last byte.","shortMessageHtmlLink":"pybricks.tools.read_input_byte: Allow chr conversion of last byte."}},{"before":"a17576bec2177c8e68c3b10e717efc75ea7f2358","after":"46f29c09430c1e2fef4b47a1c830910082256404","ref":"refs/heads/master","pushedAt":"2024-03-29T14:31:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"pybricks.robotics.Car: Raise error on no car built.\n\nWe get quite a few questions about the Xbox controller not connecting,\nwhen the actual issue is the car initialization never completing because\nno car has been built yet. To be more explicit, raise an error if the endpoint\nis not found within 10 seconds.\n\nFixes https://github.com/pybricks/support/issues/1564","shortMessageHtmlLink":"pybricks.robotics.Car: Raise error on no car built."}},{"before":null,"after":"dcd42ae1c4a36b8e17c07f801658d11f6b87e386","ref":"refs/heads/debug-broadcast","pushedAt":"2024-03-29T13:24:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"laurensvalk","name":null,"path":"/laurensvalk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12326241?s=80&v=4"},"commit":{"message":"DEBUG: Add color lights to each stage of broadcasting.\n\nDoes it always freeze at the same color?","shortMessageHtmlLink":"DEBUG: Add color lights to each stage of broadcasting."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXXlhVwA","startCursor":null,"endCursor":null}},"title":"Activity ยท pybricks/pybricks-micropython"}