{"push_id":914943789,"size":17,"distinct_size":17,"ref":"refs/heads/xboot_integration","head":"e87dde5d3f472409721be2f2a3d382bc14d92342","before":"37fbe3fd85ec6f19d2baa1bf1de8ffe50bfe7d44","commits":[{"sha":"841271d9ef63897f93ce1da40c893c080a979a06","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Update xboot submodule","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/841271d9ef63897f93ce1da40c893c080a979a06"},{"sha":"ad39f1523b11f72d77e4963877a98da7ba8b22f0","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add xboot API and implement device reset command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/ad39f1523b11f72d77e4963877a98da7ba8b22f0"},{"sha":"8dd9e0eb58834bb85fb6a280fe0e00d12db27f32","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement command line parser","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/8dd9e0eb58834bb85fb6a280fe0e00d12db27f32"},{"sha":"d47c17da2e348e9d1d68eef6cc1cdf6824fdf900","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Speed up USB task","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/d47c17da2e348e9d1d68eef6cc1cdf6824fdf900"},{"sha":"602145bd95a4445af07fd3b4d69d9e2a15c29782","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Refactor USB API to resemble stdio.h","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/602145bd95a4445af07fd3b4d69d9e2a15c29782"},{"sha":"bc2cde80302a41f1c1a78b338ed6594977596088","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"usb: Implement internal flush helper function","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/bc2cde80302a41f1c1a78b338ed6594977596088"},{"sha":"9cf21deea455ccf7a11d5e1ca50b821bee9c82e3","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement and use wrapper for CDC_Device_BytesReceived","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/9cf21deea455ccf7a11d5e1ca50b821bee9c82e3"},{"sha":"02cf44351ed43ccb43a709545c346ea54183d52c","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add error flag to command subroutines","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/02cf44351ed43ccb43a709545c346ea54183d52c"},{"sha":"c5defb5725b8ddfdb65ce85e4a98b53fe045188f","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement more powerful `led` command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/c5defb5725b8ddfdb65ce85e4a98b53fe045188f"},{"sha":"27d19b8bc54b35b42c0165b7ddeb035d8018079f","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Prepare firmware update command","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/27d19b8bc54b35b42c0165b7ddeb035d8018079f"},{"sha":"2730bd68c3356afb35dc8c72829c7cbc30670e44","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement firmware update without CRC","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/2730bd68c3356afb35dc8c72829c7cbc30670e44"},{"sha":"a914755a0573cfac3c30b90b904e99332d4c3f84","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement proper CRC check","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/a914755a0573cfac3c30b90b904e99332d4c3f84"},{"sha":"eceff831fcf7065d4bb4355779c6c4a0c622a414","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Implement CRC","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/eceff831fcf7065d4bb4355779c6c4a0c622a414"},{"sha":"94895f32ece0d5793edbf226ff3a053c0504d21c","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Add make target for firmware update files","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/94895f32ece0d5793edbf226ff3a053c0504d21c"},{"sha":"e6c18da20fbe37496e54707d90e958b74785ad2f","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Count pages and echo progress","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/e6c18da20fbe37496e54707d90e958b74785ad2f"},{"sha":"e2683ab7faef34946dabc695d0a662d95237fb7b","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Substantially speed up update upload","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/e2683ab7faef34946dabc695d0a662d95237fb7b"},{"sha":"e87dde5d3f472409721be2f2a3d382bc14d92342","author":{"email":"6bd362f41422d3d9aa723a39ecbd995181271d38@sineband.de","name":"Sebastian Neuser"},"message":"Immediately re-enable watchdog after wiping temporary app section","distinct":true,"url":"https://api.github.com/repos/theFork/uMIDI/commits/e87dde5d3f472409721be2f2a3d382bc14d92342"}]}