{"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:1711207775.0","currentOid":""},"activityList":{"items":[{"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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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":"Tobias Schramm","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"}},{"before":"d312ca7c00ccd5a83b6e19f73cf5c18b263998e8","after":"67612500f4970c00168a0ae900480f048c803380","ref":"refs/heads/main","pushedAt":"2023-12-31T17:45:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Add secrets folder ignored by default","shortMessageHtmlLink":"Add secrets folder ignored by default"}},{"before":"69f0221822d1195d28f6285df2de46dbe9ea7589","after":"d312ca7c00ccd5a83b6e19f73cf5c18b263998e8","ref":"refs/heads/main","pushedAt":"2023-12-31T17:41:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Ignore changes to wireless key file from now on","shortMessageHtmlLink":"Ignore changes to wireless key file from now on"}},{"before":"07aac62ea1a11ffbd25b5c2571f384336dd44d2a","after":"69f0221822d1195d28f6285df2de46dbe9ea7589","ref":"refs/heads/main","pushedAt":"2023-12-31T12:15:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"main: add basic menuconfig","shortMessageHtmlLink":"main: add basic menuconfig"}},{"before":"2c8859eaad2836ef8c98d7bf11bbdda1de091ef3","after":"07aac62ea1a11ffbd25b5c2571f384336dd44d2a","ref":"refs/heads/main","pushedAt":"2023-12-31T10:10:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"uid: accept broadcast address","shortMessageHtmlLink":"uid: accept broadcast address"}},{"before":"2a9abe44b0529a6961091acea0e5f7ac7b64fa66","after":"2c8859eaad2836ef8c98d7bf11bbdda1de091ef3","ref":"refs/heads/main","pushedAt":"2023-12-30T23:10:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"power_control: up USB current limit to 1.5A","shortMessageHtmlLink":"power_control: up USB current limit to 1.5A"}},{"before":"9f596583d977a4e1082acccce202af4e0cfbe778","after":"2a9abe44b0529a6961091acea0e5f7ac7b64fa66","ref":"refs/heads/main","pushedAt":"2023-12-28T00:29:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"Support persistent USB disable\n\nAdd a software option to disable USB for increased resiliency in\nsituations where Blinkekatzen are left unattended.\nThis feature is not invasive and does on purpose not touch any fuses\nwithin the ESP. It may thus be circumventable by a skilled attacker.\nCurrently no more heavy-handed approaches like secure boot and fusing are\nimplemented to minimize the chance of bricking devices by accident during\ndevelopment.","shortMessageHtmlLink":"Support persistent USB disable"}},{"before":"cd4e42c93c032852985022f5878e9a643f9b0147","after":"9f596583d977a4e1082acccce202af4e0cfbe778","ref":"refs/heads/main","pushedAt":"2023-12-27T20:27:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobleMiner","name":"Tobias Schramm","path":"/TobleMiner","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2042858?s=80&v=4"},"commit":{"message":"shell: add wireless disable command","shortMessageHtmlLink":"shell: add wireless disable command"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEHbsJAwA","startCursor":null,"endCursor":null}},"title":"Activity · TobleMiner/blinkekatze-firmware"}