Giter Site home page Giter Site logo

enricorov / cc2640-ble-broadcaster Goto Github PK

View Code? Open in Web Editor NEW

This project forked from venemo/cc2640-ble-broadcaster

0.0 1.0 0.0 603 KB

Simple application that implements a BLE broadcaster on TI's CC2640 chip.

License: MIT License

C 79.48% C++ 20.22% Objective-C 0.30%

cc2640-ble-broadcaster's Introduction

cc2640-ble-broadcaster

Simple application that implements a BLE broadcaster on TI's CC2640 chip. Suitable for testing the CC2640 or performing some basic tasks.

This application does not use TI-RTOS and does not use TI's BLE stack. Its only dependency is TI's CC26XXWARE driverlib, which contains low-level drivers for all peripherals in the chip.

How it works

How did you do it?

Fortunately, the RF part is well-enough documented in the CC26XX reference manual, so that a simple BLE appication can be written using the RF doorbell interface directly.

Why doesn't it do more?

Anything more (ie. any application that would require a connection) seems somewhat more complex as you would need to basically implement the whole BLE link layer for yourself. This may not be so hard if you read the radio documentation in detail, but then you still have to make a GAP, ATT, GATT, etc. implementation for yourself.

These are not covered in this app.

How do I configure this for my own board?

Actually, this app doesn't use any external peripherals, so the only thing you need is to configure the chip for your RF front-end use. This app is configured for differential operation with internal bias. (So if that's what you use, no need to configure anything.)

To configure the RF front-end:

  • Review your RF PCB layout and design
  • Find the following file in the BLE stack: ble_sdk_2_02_00_31/src/icall/app/ble_user_config.c
  • Find the appropriate overrides in the ble_user_config.c file
  • Open src/rf.c in this app and replace the ble_overrides with what you found in ble_user_config.c
  • Save rf.c, and you're done.

How do you use this for RF testing?

Simple. Just uncomment the needed parts in src/main.c

Project structure

Directory structure

  • src: custom source files
  • driverlib: CC26XXWARE code from TI
  • inc: CC26XXWARE code from TI
  • startup: startup file and linker config file from CC26XXWARE
  • targetConfigs: generated by Code Composer Studio for CC2640

cc2640-ble-broadcaster's People

Contributors

venemo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.