{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":701579594,"defaultBranch":"main","name":"blinkekatze-firmware","ownerLogin":"TobleMiner","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-07T01:06:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2042858?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717238622.0","currentOid":""},"activityList":{"items":[{"before":"56ead7940dd08a824b3b3dbe8345b21a5887a8f1","after":"49f2cc405e1db0faca193646b64b3665b275d44b","ref":"refs/heads/main","pushedAt":"2024-06-03T02:06:06.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"shell: add command to override wireless key temporarily\n\nAdd new `wireless_key` command to override wireless key in RAM.\nChanges done to the wireless encryption key are volatile. The key resets\nback to the default stored in flash after a reboot.","shortMessageHtmlLink":"shell: add command to override wireless key temporarily"}},{"before":null,"after":"24377f6f20a3cfce90dc93bc472dad576053ced4","ref":"refs/heads/hack/reinit-usb-after-shell-init","pushedAt":"2024-06-01T10:43:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"usb: (HACK) reapply USB IOMUX config after starting repl\n\nStartig the repl messes with the IOMUX. Apply the USB enable config again\nafter the shell is initialized.\n\nThanks to @Frostie314159 for CTFing my Blinkekatzen at GPN22 and finding\nthis bug in the process!","shortMessageHtmlLink":"usb: (HACK) reapply USB IOMUX config after starting repl"}},{"before":"845c1b588513bdf2d9a1e1ff6ff71d37ba7cf498","after":"05bf127434f8d26d152abe1dc23dec58c42f1386","ref":"refs/heads/feature/support-overriding-wireless-key","pushedAt":"2024-06-01T10:17:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"wireless: reinitialize HMAC contexts when wireless key changes\n\nThe HMAC context used have some precomputed state. The state needs to be\nprepared again when the hmac key is changed.","shortMessageHtmlLink":"wireless: reinitialize HMAC contexts when wireless key changes"}},{"before":"e49833a828854db69dbf5745358e07572a27511c","after":"56ead7940dd08a824b3b3dbe8345b21a5887a8f1","ref":"refs/heads/main","pushedAt":"2024-06-01T10:14:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: update list of dependencies\n\nopencv is no longer required as all tools have been rewritten to use\npypng.","shortMessageHtmlLink":"README: update list of dependencies"}},{"before":"56ead7940dd08a824b3b3dbe8345b21a5887a8f1","after":"e49833a828854db69dbf5745358e07572a27511c","ref":"refs/heads/main","pushedAt":"2024-06-01T10:13:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"wireless: reinitialize hmac contexts when encryption key is updated","shortMessageHtmlLink":"wireless: reinitialize hmac contexts when encryption key is updated"}},{"before":"1d4ec1108798ced15c595b156d2eb77cbbaec6af","after":"56ead7940dd08a824b3b3dbe8345b21a5887a8f1","ref":"refs/heads/main","pushedAt":"2024-06-01T00:18:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: update list of dependencies\n\nopencv is no longer required as all tools have been rewritten to use\npypng.","shortMessageHtmlLink":"README: update list of dependencies"}},{"before":null,"after":"845c1b588513bdf2d9a1e1ff6ff71d37ba7cf498","ref":"refs/heads/feature/support-overriding-wireless-key","pushedAt":"2024-06-01T00:12:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"shell: add command to override wireless key temporarily\n\nAdd new `wireless_key` command to override wireless key in RAM.\nChanges done to the wireless encryption key are volatile. The key resets\nback to the default stored in flash after a reboot.","shortMessageHtmlLink":"shell: add command to override wireless key temporarily"}},{"before":"e9c9cfffc87e598a168dd5443e1b7fb1356d8a38","after":"0b3793d8ad91a03bcbbe84bb0687ee95e32f0cd2","ref":"refs/heads/feature/3d-space-self-location","pushedAt":"2024-03-24T04:59:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"neighbour: move nodes only once all forces have been calculated\n\nEnsure velocity calculation uses same node positions for all nodes by\nmoving nodes only once forces on all nodes have been calculated.","shortMessageHtmlLink":"neighbour: move nodes only once all forces have been calculated"}},{"before":"787cb682d5a341f4c0e155b5fef4fc2841cfc11c","after":"e9c9cfffc87e598a168dd5443e1b7fb1356d8a38","ref":"refs/heads/feature/3d-space-self-location","pushedAt":"2024-03-24T04:54:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Optimize neighbour RSSI report storage and lookup\n\nEmploy a TLB to ensure lookup of neighbour from RSSI is in O(1).\nStore only TLB index in RSSI reports to keep their size in memory to a\nminimum.","shortMessageHtmlLink":"Optimize neighbour RSSI report storage and lookup"}},{"before":null,"after":"787cb682d5a341f4c0e155b5fef4fc2841cfc11c","ref":"refs/heads/feature/3d-space-self-location","pushedAt":"2024-03-23T15:29:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Implement first, naive local network triangulation","shortMessageHtmlLink":"Implement first, naive local network triangulation"}},{"before":"d9b46d41c3eed1bbb40cf4e5eeb4c2c04e68af78","after":"1d4ec1108798ced15c595b156d2eb77cbbaec6af","ref":"refs/heads/main","pushedAt":"2024-03-22T16:28:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"neighbour: advertise local neighbours and rssi to neighbours\n\nSend out a list of neighbours visible to the local node to all\nother neighbours to allow nodes to obtain a super local view on\nthe overall network.","shortMessageHtmlLink":"neighbour: advertise local neighbours and rssi to neighbours"}},{"before":"ee1d774cf522a6bcae7dfc8f3566781a4bbca81e","after":"d9b46d41c3eed1bbb40cf4e5eeb4c2c04e68af78","ref":"refs/heads/main","pushedAt":"2024-02-01T23:46:23.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"node_info: show enabled battery storage mode in node info","shortMessageHtmlLink":"node_info: show enabled battery storage mode in node info"}},{"before":"a61f92b1f8bf9e18a81a0f09bfb4f9cd356c2a5b","after":"d9b46d41c3eed1bbb40cf4e5eeb4c2c04e68af78","ref":"refs/heads/feature/battery-storage-mode","pushedAt":"2024-02-01T23:38:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"node_info: show enabled battery storage mode in node info","shortMessageHtmlLink":"node_info: show enabled battery storage mode in node info"}},{"before":"ea0a67190ce40b4b2bafecc7707d3dd81ac611cd","after":"a61f92b1f8bf9e18a81a0f09bfb4f9cd356c2a5b","ref":"refs/heads/feature/battery-storage-mode","pushedAt":"2024-02-01T23:26:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"power_control: decouple power and battery storage mode state machines\n\nMinimize coupling between power state and battery storage mode to make\ncode easier to understand.","shortMessageHtmlLink":"power_control: decouple power and battery storage mode state machines"}},{"before":null,"after":"ea0a67190ce40b4b2bafecc7707d3dd81ac611cd","ref":"refs/heads/feature/battery-storage-mode","pushedAt":"2024-02-01T22:34:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"power_control: implement first battery storage mode prototype\n\nGenerally LiIon batteries tend to age faster and loose charge capacity\nwhen stored at high SoC.\nStart implementing a mode that brings the battery of all Blinkekatzen\nwithin a network to a target SoC value.","shortMessageHtmlLink":"power_control: implement first battery storage mode prototype"}},{"before":"0c95927361bb717820d06cc2682c6bbeb33e6517","after":"ee1d774cf522a6bcae7dfc8f3566781a4bbca81e","ref":"refs/heads/main","pushedAt":"2024-01-21T12:37:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: indicate programming battery gauges from firmware is an option now","shortMessageHtmlLink":"README: indicate programming battery gauges from firmware is an optio…"}},{"before":"21ea591fe424fc68b91d0dbf2d3015d2df20cb58","after":"0c95927361bb717820d06cc2682c6bbeb33e6517","ref":"refs/heads/main","pushedAt":"2024-01-21T06:00:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"fix typo","shortMessageHtmlLink":"fix typo"}},{"before":"426d1db80d7da60270a0e96b53866a6edabab37a","after":"21ea591fe424fc68b91d0dbf2d3015d2df20cb58","ref":"refs/heads/main","pushedAt":"2024-01-21T05:50:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: add section on flashing","shortMessageHtmlLink":"README: add section on flashing"}},{"before":"4e20918d734e8481c76dfddf9cd72ef0cf9929ca","after":"426d1db80d7da60270a0e96b53866a6edabab37a","ref":"refs/heads/main","pushedAt":"2024-01-21T02:59:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: add section on battery software compatibility","shortMessageHtmlLink":"README: add section on battery software compatibility"}},{"before":"603d7bfea9b191b8035d24d87eafff498591641e","after":"4e20918d734e8481c76dfddf9cd72ef0cf9929ca","ref":"refs/heads/main","pushedAt":"2024-01-21T02:55:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"assets: add BQStudio battery gauge dataflash export\n\nThis file can be directly imported into BQStudio to tweak parameters\nfor use of different batteries with Blinkekatzen.","shortMessageHtmlLink":"assets: add BQStudio battery gauge dataflash export"}},{"before":"eac692af94be2bed77e5b967a2059700aa56e055","after":"603d7bfea9b191b8035d24d87eafff498591641e","ref":"refs/heads/main","pushedAt":"2024-01-21T02:51:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"tools: displaycal_to_bin: replace opencv2 by pypng\n\nPreviously opencv2 was used to process 16 bit PNG color calibration\nmatrices. pypng is a far more lightweigt option for parsing 16 bit\npngs and has no external dependencies. Use it.","shortMessageHtmlLink":"tools: displaycal_to_bin: replace opencv2 by pypng"}},{"before":"aaad64941e427efcaa73924438885a0cf950167e","after":"eac692af94be2bed77e5b967a2059700aa56e055","ref":"refs/heads/main","pushedAt":"2024-01-21T02:22:25.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"bq27546: make format strings in programming output newlib nano compatible","shortMessageHtmlLink":"bq27546: make format strings in programming output newlib nano compat…"}},{"before":"4f6343c28f6e96fae867b59c44837936eeb96623","after":"aaad64941e427efcaa73924438885a0cf950167e","ref":"refs/heads/main","pushedAt":"2024-01-01T19:47:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: update limitations section\n\nThere is now a highly experimental method to flash battery gauges in\ncircuit. Reflect that in the readme.","shortMessageHtmlLink":"README: update limitations section"}},{"before":"1d1d6c3beab8e307ea537e81c77c52c24c8bba92","after":"4f6343c28f6e96fae867b59c44837936eeb96623","ref":"refs/heads/main","pushedAt":"2024-01-01T19:43:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"bq27546: support dataflash programming","shortMessageHtmlLink":"bq27546: support dataflash programming"}},{"before":"11cd30520a22835b568e9fb2c04d41410f5bbce4","after":"1d1d6c3beab8e307ea537e81c77c52c24c8bba92","ref":"refs/heads/main","pushedAt":"2024-01-01T16:07:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"README: add section on limitations","shortMessageHtmlLink":"README: add section on limitations"}},{"before":"bc17e67ef6dbd0b49ec53d36a933a49c358381ed","after":"11cd30520a22835b568e9fb2c04d41410f5bbce4","ref":"refs/heads/main","pushedAt":"2024-01-01T15:22:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Add basic README","shortMessageHtmlLink":"Add basic README"}},{"before":"6a234421e51563316dcc4ff310a5c6692bcfa792","after":"bc17e67ef6dbd0b49ec53d36a933a49c358381ed","ref":"refs/heads/main","pushedAt":"2024-01-01T13:19:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"power_control: update charger watchdog and input current every 10s only","shortMessageHtmlLink":"power_control: update charger watchdog and input current every 10s only"}},{"before":"7441cdc2a6f865f04eb878441c2c82504dbd8f99","after":"6a234421e51563316dcc4ff310a5c6692bcfa792","ref":"refs/heads/main","pushedAt":"2024-01-01T00:01:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"wireless: store recent message HMACs for replay prevention","shortMessageHtmlLink":"wireless: store recent message HMACs for replay prevention"}},{"before":"6a1e497643ddef456fe16a3274277dc6cf4522eb","after":"7441cdc2a6f865f04eb878441c2c82504dbd8f99","ref":"refs/heads/main","pushedAt":"2023-12-31T22:11:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"neighbour: use global time as time reference for scheduled transmissions\n\nWhen using packet replay prevention techniques initial packet\ntransmissions before time synchronization will be dropped by intended\nrecipients.\nDetect when time synchronisation has taken place using global time as the\ntime reference for scheduled transmissions.","shortMessageHtmlLink":"neighbour: use global time as time reference for scheduled transmissions"}},{"before":"67612500f4970c00168a0ae900480f048c803380","after":"6a1e497643ddef456fe16a3274277dc6cf4522eb","ref":"refs/heads/main","pushedAt":"2023-12-31T18:43:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"TobleMiner","name":"Toble_Miner/tsys","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"wireless: add basic replay protection","shortMessageHtmlLink":"wireless: add basic replay protection"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0wM1QwMjowNjowNi4wMDAwMDBazwAAAARadb0h","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0wM1QwMjowNjowNi4wMDAwMDBazwAAAARadb0h","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMi0zMVQxODo0Mzo0MC4wMDAwMDBazwAAAAPVHAcB"}},"title":"Activity · TobleMiner/blinkekatze-firmware"}