{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":796237926,"defaultBranch":"master","name":"pi-wo-root","ownerLogin":"drankinatty","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-05-05T11:07:55.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9997638?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714907275.945656","currentOid":""},"activityList":{"items":[{"before":"3fdedb612ceabd8239e97c1bad5ad5e577b6452e","after":"866052813a2185d7ddded3355fc02d40061e47c9","ref":"refs/heads/master","pushedAt":"2024-06-15T07:42:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update gpio_v2_ir_snsr example to add code to set displayed RPM to 0 when RPM falls below 180. On motor slowdown to stop, the last pair of edge detections on common PC fans will be in the 90 - 170 RPM range and never reach 0. Add outier detection to prevent the captured max-RPM from being corrupted on motor stop if the fan rocks back and forth across the sensor before coming to rest.","shortMessageHtmlLink":"Update gpio_v2_ir_snsr example to add code to set displayed RPM to 0 …"}},{"before":"4b9ce4f58cd66eff6b297c53c860ddaaf416d4c4","after":"3fdedb612ceabd8239e97c1bad5ad5e577b6452e","ref":"refs/heads/master","pushedAt":"2024-06-10T23:00:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add gpio_v2_ir_snsr source for reading RPM over GPIO from IR-LED and Photoresistor circuit.","shortMessageHtmlLink":"Add gpio_v2_ir_snsr source for reading RPM over GPIO from IR-LED and …"}},{"before":"88abc6617cf27a398d24c98b41d672f3bfbfa2fc","after":"4b9ce4f58cd66eff6b297c53c860ddaaf416d4c4","ref":"refs/heads/master","pushedAt":"2024-06-03T22:20:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add tst/gpio_v2_button_value example showing the gpio_v2 'active'/'inactive' edge for PULL_UP/ACTIVE_LOW and value depends on the line flags and what is the RISING or FALLING edge depends on the line config and not UP/DOWN direction of the waveform. Line values also depend on config and not voltage.","shortMessageHtmlLink":"Add tst/gpio_v2_button_value example showing the gpio_v2 'active'/'in…"}},{"before":"5035cdc9a6321af2469d236e587a0b0db62688fc","after":"88abc6617cf27a398d24c98b41d672f3bfbfa2fc","ref":"refs/heads/master","pushedAt":"2024-05-31T05:31:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update pwm library adding pwm_enable() and pwm_disable() wrappers for pwm_enable_pwm() eliminating the 1/0, enable/disable parameter and making the use clearer. Update examples/pwmlibdcopen and tst/pwmsine to use the new wrapper functions. Add tst/gpio_v2_ioctl_pselect example replacing poll() use with pselect() for microcontrollers running busybox as the shell without poll() implimented.","shortMessageHtmlLink":"Update pwm library adding pwm_enable() and pwm_disable() wrappers for…"}},{"before":"fd421d795af3cafb520d7b4fc6c6597ad0f8afbb","after":"5035cdc9a6321af2469d236e587a0b0db62688fc","ref":"refs/heads/master","pushedAt":"2024-05-28T06:05:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update gpio_v2_button_press usage function to reflect new arguments and defaults.","shortMessageHtmlLink":"Update gpio_v2_button_press usage function to reflect new arguments a…"}},{"before":"077fae8dc6af65af7eb76d865c1d3d8dd8221881","after":"fd421d795af3cafb520d7b4fc6c6597ad0f8afbb","ref":"refs/heads/master","pushedAt":"2024-05-28T05:55:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update gpio_v2_button_press example add debounce period in microseconds as second program argument to allow it to be user-set at runtime (default 5000 us/5 ms). Update README.md revise format and add additional explanation for tst, example and lib directories.","shortMessageHtmlLink":"Update gpio_v2_button_press example add debounce period in microsecon…"}},{"before":"b2e11ec98c050c556585cb4c89a134cc87dee2fe","after":"077fae8dc6af65af7eb76d865c1d3d8dd8221881","ref":"refs/heads/master","pushedAt":"2024-05-27T08:05:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update gpio_v2_ioctl example and remove struct gpio_v2_line_values *linevals from the gpio_v2_t convenience struct passed to thread function as parameter. The linevals pointer is not needed as the linevals struct can be declared and filled locally to set the line values. Add example gpio_v2_button_press demonstrating use of debounce_period_us attribute set 5000 us (5 ms).","shortMessageHtmlLink":"Update gpio_v2_ioctl example and remove struct gpio_v2_line_values *l…"}},{"before":"7657f660989ede32210896796f0a2b1eaafffebb","after":"b2e11ec98c050c556585cb4c89a134cc87dee2fe","ref":"refs/heads/master","pushedAt":"2024-05-19T19:16:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md format, add note about Milkv-Duo use.","shortMessageHtmlLink":"Update README.md format, add note about Milkv-Duo use."}},{"before":"5a83ac52a336d75a9c45c653a97e23fbd1853d26","after":"7657f660989ede32210896796f0a2b1eaafffebb","ref":"refs/heads/master","pushedAt":"2024-05-19T09:39:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update tst/pwmlibdcopen example to output updated duty cycle in place and provide a new define NOANSI to disable the behavior if your terminal doesn't support it. Minor, non-material, updates to numerous other sources.","shortMessageHtmlLink":"Update tst/pwmlibdcopen example to output updated duty cycle in place…"}},{"before":"a699097f6d1e5e10bb5d586c8b1420a21f0dca1f","after":"5a83ac52a336d75a9c45c653a97e23fbd1853d26","ref":"refs/heads/master","pushedAt":"2024-05-14T18:28:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update hardware pwm library to handle any number of hardware pwm channels. Removed pwm_t member .pwmfs which pointed to pathname of pwm device and replaced by snprintf to create the pathnames as needed. Open duty cycle file descriptor member .fddc allows to repeated duty cycle changes at high-rate without repeated open/close of channel duty_cycle file. Updated all examples making use of the hardware pwm library incorporating changes.","shortMessageHtmlLink":"Update hardware pwm library to handle any number of hardware pwm chan…"}},{"before":"c384fbeaf24dd58d5567c620bf50858438b675cf","after":"a699097f6d1e5e10bb5d586c8b1420a21f0dca1f","ref":"refs/heads/master","pushedAt":"2024-05-14T08:50:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add tst/pwmtstdc with rewritten hardware PWM code to handle both Pi and Milkv-Duo hardware PWM. Pi has 2 channels, Duo has 16 channels across 4 PWM busses (pwmchip0-4, with pwm0-3 on each bus).","shortMessageHtmlLink":"Add tst/pwmtstdc with rewritten hardware PWM code to handle both Pi a…"}},{"before":"99dd62384acebd1319d4b87563d2f417115aa864","after":"c384fbeaf24dd58d5567c620bf50858438b675cf","ref":"refs/heads/master","pushedAt":"2024-05-10T03:08:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add example using GPIO_V2 ABI userspace interface with kernel ioctl. Additional update of README and various other non-substantive cleanups.","shortMessageHtmlLink":"Add example using GPIO_V2 ABI userspace interface with kernel ioctl. …"}},{"before":"43e8547e680596adcbded688d73c7808e5f79359","after":"99dd62384acebd1319d4b87563d2f417115aa864","ref":"refs/heads/master","pushedAt":"2024-05-07T09:19:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add mssing paren in README on NOTE about itimer return change.","shortMessageHtmlLink":"Add mssing paren in README on NOTE about itimer return change."}},{"before":"8d72f01a8daf8337c3c67b5e505982929b47b505","after":"43e8547e680596adcbded688d73c7808e5f79359","ref":"refs/heads/master","pushedAt":"2024-05-07T09:17:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update itimer library, change return on all functions currently returning 1 on succees, 0 on failure to be consistent with the rest of the libraries and return 0 on success, -1 on failure. Update all dependent libraries and sources to reflect the change.","shortMessageHtmlLink":"Update itimer library, change return on all functions currently retur…"}},{"before":"259d7e9da846c7e8703ecd5c5ae5a227c4440718","after":"8d72f01a8daf8337c3c67b5e505982929b47b505","ref":"refs/heads/master","pushedAt":"2024-05-06T07:48:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update gpio-ioctl example to allow passing the gpio write and read pins as command line arguments (in that order) before passing the delay and number of edge cycles to read. Defaults are gpio 23 and 24. Minor formatting changes to tglibtest.","shortMessageHtmlLink":"Update gpio-ioctl example to allow passing the gpio write and read pi…"}},{"before":"08e489fb2cec2ce6b07a771bbd7e4a7510648811","after":"259d7e9da846c7e8703ecd5c5ae5a227c4440718","ref":"refs/heads/master","pushedAt":"2024-05-06T02:58:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md fix typos -- again, again.","shortMessageHtmlLink":"Update README.md fix typos -- again, again."}},{"before":"e008d039228d8f65e73f540340acb33fa5d7196c","after":"08e489fb2cec2ce6b07a771bbd7e4a7510648811","ref":"refs/heads/master","pushedAt":"2024-05-06T02:52:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md remove duplicate entry of tinygpio under secondary libraries.","shortMessageHtmlLink":"Update README.md remove duplicate entry of tinygpio under secondary l…"}},{"before":"d852165f9781f442804a2978bddc0f40ca77ed27","after":"e008d039228d8f65e73f540340acb33fa5d7196c","ref":"refs/heads/master","pushedAt":"2024-05-06T02:49:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md add not for adding your user to the gpio group to use /dev/gpiomem without root privileges.","shortMessageHtmlLink":"Update README.md add not for adding your user to the gpio group to us…"}},{"before":"4bee1235adaf5626625a3af5ba5035e10e1c713d","after":"d852165f9781f442804a2978bddc0f40ca77ed27","ref":"refs/heads/master","pushedAt":"2024-05-06T02:42:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md fix typos -- again.","shortMessageHtmlLink":"Update README.md fix typos -- again."}},{"before":"15f13f6c050fd8e346c9556679b3f19593049186","after":"4bee1235adaf5626625a3af5ba5035e10e1c713d","ref":"refs/heads/master","pushedAt":"2024-05-06T02:36:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md fix typo.","shortMessageHtmlLink":"Update README.md fix typo."}},{"before":"37e84f5c3d4473402a64be5923ceaf796effc705","after":"15f13f6c050fd8e346c9556679b3f19593049186","ref":"refs/heads/master","pushedAt":"2024-05-06T02:34:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update README.md add addition information on library use and helping the compiler find the headers and libraries if /usr/local/xxx isn't in the distros default include or library search paths.","shortMessageHtmlLink":"Update README.md add addition information on library use and helping …"}},{"before":"be214eaafd8a7dcce5d6a6241c1664699f3833a6","after":"37e84f5c3d4473402a64be5923ceaf796effc705","ref":"refs/heads/master","pushedAt":"2024-05-05T23:54:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Add the basic interval timer development example files in tst missed last commit.","shortMessageHtmlLink":"Add the basic interval timer development example files in tst missed …"}},{"before":"5549cf32d250d841b6074a10da66289b9813e314","after":"be214eaafd8a7dcce5d6a6241c1664699f3833a6","ref":"refs/heads/master","pushedAt":"2024-05-05T23:53:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Update information output in pwmsoftrgb, other minor non-substantive formatting tweaks. Include simple 'it' interval timer development example in tst directory.","shortMessageHtmlLink":"Update information output in pwmsoftrgb, other minor non-substantive …"}},{"before":"4d4d7d1fb1d93176f4dfc754276a1db436cda975","after":"5549cf32d250d841b6074a10da66289b9813e314","ref":"refs/heads/master","pushedAt":"2024-05-05T12:10:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Initial commit of Raspberry Pi without root. A set of libraries and examples showing how to make use of the Linux kernel i2c/smbus, PWM, SPI and GPIO access without needing root access for the executables you build. Examples are provided for ADS1115 ADC over I2C, for the MCP3008 ADC over SPI, single and 3-color LED examples using the kernel interval timer for software PWM and using the GPIO_V2 ABI for pin access - which is not deprecated. Additional examples control the Inversense MPU6500 - MPU9255 inertial measurement sensors and all develpment and testing file are included in the tst subdirctory.","shortMessageHtmlLink":"Initial commit of Raspberry Pi without root. A set of libraries and e…"}},{"before":null,"after":"4d4d7d1fb1d93176f4dfc754276a1db436cda975","ref":"refs/heads/master","pushedAt":"2024-05-05T11:07:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"drankinatty","name":"David C. Rankin","path":"/drankinatty","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9997638?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEZhB2zwA","startCursor":null,"endCursor":null}},"title":"Activity · drankinatty/pi-wo-root"}