Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
pauloborges committed Jul 28, 2014
1 parent 60b357e commit e7024d2
Showing 1 changed file with 35 additions and 35 deletions.
70 changes: 35 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,52 @@
# Project blessed
# BLESSED

**blessed** is a open source implementation of a Bluetooth Low Energy stack targeting embedded bare-metal devices.
**Blessed** is an open source implementation of a Bluetooth Low Energy stack
targeting embedded bare-metal devices. **Blessed** aims to provide a flexible
and customizable software stack, and when necessary, allow access to lower
layers, such as the link layer.

## What "blessed" means?

**blessed** in an acronym for Bluetooth Low Energy Software Stack for Embedded Devices.

## Motivation

In addition to software licensing, proprietary stacks always create a abstractions, and restricts the access to the platform internals. blessed aims to provide a flexible and customizable software stack, and when necessary, allowing access to low layers (Radio and Link Layer).
It's also an acronym for Bluetooth Low Energy Software Stack for Embedded
Devices.

## Features

**blessed** currently supports GAP Broadcaster role. More features and roles are on the roadmap.

## Platforms

Currently, only nRF51822 platform is supported. Support for **Ubertooth One** and other platforms are on the roadmap.

Check `platform/nrf51822/README.md` for specific instructions for the nRF51822 port.

## Building

To build blessed, just:
* **GAP Broadcaster role**: non-connectable and scannable advertising are
implemented. Connectable advertising is also implemented, but connection
requests are ignored.
* **GAP Observer role**: passive scanning is implemented.

$ make PLATFORM=my-platform
### Planned features¹

This will generate a static library `libblessed.a` in the `build` directory. The public headers are located in `include/blessed`.
* Active scanning (check [`examples/radio-active-scanning`]
(https://github.com/pauloborges/blessed/tree/devel/examples/radio-active-observer)).
* Link layer device filtering.
* GAP Peripheral role (connection).
* High level API to easily create apps (unfinished draft can be found in
[`include/blessed/bci.h`]
(https://github.com/pauloborges/blessed/blob/devel/include/blessed/bci.h)).

If you always build to the same platform, you can:
¹ This is not a complete list.

$ echo "PLATFORM=my-platform" > Makefile.config
$ make
## Supported platforms

The `Makefile.config` file is included by `Makefile`.
Currently, only the [`nRF51822`]
(https://github.com/pauloborges/blessed/tree/devel/platform/nrf51822) SoC from
[Nordic Semiconductors](https://www.nordicsemi.com/) is supported.

### Configuration
## How to compile it

You can configure your build by passing configuration variables in the make command:
Execute:

$ make MY-CONFIG=my-config-value
$ make PLATFORM=your-platform <other configuration variables²>

The configuration variables are:
If all's well, this command will generate a static library located in
`build/libblessed.a`. The public headers are located in `include/blessed`.
Check the examples to see how to build and link an application with
`libblessed.a`. Our build system doesn't support `make install`.

* `CONFIG_LOG_ENABLE`: enable/disable log and error messages
* `=1` enable (default value)
* `=0` disable
² More on this soon.

## Example
## Examples

There are several examples in `examples` directory showing how to use blessed. Check `examples/README.md` to learn how to build and install them.
Check the [`examples/README.md`]
(https://github.com/pauloborges/blessed/blob/devel/examples/README.md) file.

0 comments on commit e7024d2

Please sign in to comment.