{"id":24030800,"url":"https://github.com/ebrezadev/bluetooth-slave-spp-task-handler-c-driver","last_synced_at":"2026-04-27T18:03:06.896Z","repository":{"id":160180753,"uuid":"367060738","full_name":"ebrezadev/Bluetooth-Slave-SPP-Task-Handler-C-Driver","owner":"ebrezadev","description":"Bluetooth Slave JDY-31 SPP (Serial Port Profile) Task Handler C Driver","archived":false,"fork":false,"pushed_at":"2021-05-23T01:41:50.000Z","size":16,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T19:43:47.440Z","etag":null,"topics":["arduino","bluetooth","c","driver","jdy-31","mcu","serial","spp"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ebrezadev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-13T13:40:32.000Z","updated_at":"2025-01-23T08:07:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"24e04b53-aab1-4712-a5ef-ddc9cea9a81c","html_url":"https://github.com/ebrezadev/Bluetooth-Slave-SPP-Task-Handler-C-Driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ebrezadev/Bluetooth-Slave-SPP-Task-Handler-C-Driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrezadev%2FBluetooth-Slave-SPP-Task-Handler-C-Driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrezadev%2FBluetooth-Slave-SPP-Task-Handler-C-Driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrezadev%2FBluetooth-Slave-SPP-Task-Handler-C-Driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrezadev%2FBluetooth-Slave-SPP-Task-Handler-C-Driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ebrezadev","download_url":"https://codeload.github.com/ebrezadev/Bluetooth-Slave-SPP-Task-Handler-C-Driver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ebrezadev%2FBluetooth-Slave-SPP-Task-Handler-C-Driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32348058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T17:12:42.749Z","status":"ssl_error","status_checked_at":"2026-04-27T17:12:41.658Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","bluetooth","c","driver","jdy-31","mcu","serial","spp"],"created_at":"2025-01-08T17:58:35.626Z","updated_at":"2026-04-27T18:03:06.878Z","avatar_url":"https://github.com/ebrezadev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bluetooth Slave JDY-31 SPP (Serial Port Profile) Task Handler C Driver\n* version 1.0\n* Reza Ebrahimi\n\nThis library is written in **portable C**, and is **MCU independent**. JDY-31 is a bluetooth V4.0 SPP slave module. In order to implement it to your MCU of choice, you need to manipulate functions inside jdy_slave.h, jdy_slave_low_level.c and jdy_slave_tasks.c.\n\nAn arbitrary number of tasks could be defined by user (256 tasks maximum, theoretically).\n\nAny resemblance to pre-existing code is unintentional.\n\n## GENERAL INFORMATION\n\nJDY-31 SPP bluetooth module, otherwise known as SPP-C, is a bluetooth slave module based on BK3231S Bluetooth SoC by Beken. It supports a total of 8 AT Commands:\n\nAT+VERSION\n\nAT+RESET\n\nAT+DISC\n\nAT+LADDR\n\nAT+PIN\n\nAT+BAUD\n\nAT+NAME\n\nAT+DEFAULT\n\n## HOW TO USE\n\nAfter configuring low level functions inside jdy_slave_low_level, you need to add your predefined tasks and their names into the case-switch statement inside jdy_slave_tasks.c. Next, add the task names inside the 'enum tasks', and NUMBER_OF_TASKS inside jdy_slave.h. \nInside your own firmware, use bluetooth_slave_init() to start communicating with SPP module, and bluetooth_tasks_handler() to check for incoming tasks.\n\n## C FUNCTIONS\n\nFunctions can be categorized in different levels. Higher level functions use Lower level functions.\n\nLEVEL 1:\n* void bluetooth_uart_set (uint32_t baud_rate)\n* uint8_t bluetooth_buffer_status ()\n* void bluetooth_buffer_read (uint8_t *input_string, uint8_t string_length)\n* void bluetooth_send_byte (uint8_t input_byte)\n* void delay_function (uint32_t delay_ms)\n\nLEVEL 2:\n* void bluetooth_command (uint8_t command)\n* void bluetooth_buffer_flush()\n* void bluetooth_receive_string (uint8_t *input_string, uint8_t string_length)\n* void bluetooth_send_string (uint8_t *output_string, uint8_t string_length)\n* void task_switcher(uint8_t index)\n* static void string_eraser (uint8_t *input_string, uint8_t string_length)\n\nLEVEL 3:\n* void bluetooth_tasks_handler()\n* void bluetooth_slave_init()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febrezadev%2Fbluetooth-slave-spp-task-handler-c-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Febrezadev%2Fbluetooth-slave-spp-task-handler-c-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Febrezadev%2Fbluetooth-slave-spp-task-handler-c-driver/lists"}