Git Product home page Git Product logo

hack-miniblip / hack-miniblip.github.io Goto Github PK

View Code? Open in Web Editor NEW
35.0 12.0 31.0 11.01 MB

Hackea la MiniBlip, repo para el hackatón CircoLab/BQ/Miniblip

License: Artistic License 2.0

Shell 0.01% C++ 3.73% Python 0.01% C 7.30% HTML 0.22% JavaScript 87.66% CSS 1.04% Haxe 0.01% Makefile 0.02% Nix 0.01% ABAP 0.01% ActionScript 0.01% Ada 0.01% Assembly 0.01% AutoHotkey 0.01% Batchfile 0.01% Cirru 0.01% Clojure 0.01% COBOL 0.01% CoffeeScript 0.01%

hack-miniblip.github.io's Introduction

hack-miniblip.github.io

Hackea la MiniBlip, repo para el hackatón CircoLab/BQ/Miniblip

Puedes ver este contenido en versión web.

La miniblip es una placa creada por BQ para wearables y lo que surja. Tiene dos botones, 5 botones capacitivos y un array de leds. Está basada en un ARM Cortex-M0 a 48MHz, el LPC11U24 que incluye 32KB FLASH y 8KB RAM y funciona a 48MHz (más detalles)

Cómo comenzar

Conecta la placa a tu USB. Si pulsas el botón rectangular más cercano al USB mientras estás enchufándolo se pondrá en "modo programación" y aparecerá en tu ordenador como un USB drive. El fichero firmware.bin será el que habrá que sustituir por tus propios ficheros cuando los compiles.

Creando y compilando un fichero.

Se usa el entorno de desarrollo MBED. Lo primero es darse de alta en el mismo.

Se trabaja sobre el compilador para compilar los ficheros. El tipo de plataforma es MBED LPC11U24, será la que hay que seleccionar cuando se crea un nuevo proyecto.

Podemos empezar por los proyectos del autor de la placa, Alberto Piganti, por ejemplo, blip_rainbow. Se importa en el compilador pulsando en "Import this program", recordando seleccionar la plataforma anterior si te lo pide e importando las librerías, en este caso PixelLibrary, también si lo pide.

Se compila pulsando en el botón correspondiente y se descarga el fichero.

Guardando el fichero en la placa

  1. Mira donde se ha montado la placa escribiendo
	mount
  1. Una vez sabemos donde está nuestra miniblip (en mi caso /dev/sdb)
	sudo dd if=nuevo_firmware.bin of=/dev/sdb bs=512 seek=4 conv=notrunc
  1. Finalmente, desmontamos la miniblip, bien con el entorno gráfico o con terminal
umount /dev/sdb

Usando el script miniblip_loader podemos cargar nuestros programas automáticamente

	$ miniblip_loader.sh + [firmware.bin]`

OJO: Si a veces ya no se monta en ningun puerto, reiniciad.

Y listo

Al conectar de nuevo el sistema empezará a funcionar el nuevo programa.

Binarios

Puedes ver los binarios en este repositorio. Si quieres subir el tuyo propio, haz un fork, incorpora tu binario siguiendo las instrucciones y haz un pull request.

Para añadir a este repo

Hacer un fork. Una vez hecho

git remote add upstream [email protected]:hack-miniblip/hack-miniblip.github.io.git

(o equivalente en https).

Y recordad antes de hacer cualquier cambio y subirlo

git pull upstream master

Podéis hacer un pull request a este repo o un simple enlace a este README.

Un cookbook

Cookbook con cosillas

Compilándolo en local

Te puedes descargar el programa completo del entorno pulsando con el botón de la derecha y dándole a "Export program", pero necesitarás algo más para compilar.

En este tutorial vienen instrucciones para crear el entorno de programación local.

  1. Instálate el entorno de programación siguiendo estas instrucciones. En esa página hay enlaces a un PPA (para instalación y actualización desde repo) o te lo puedes bajar en .zip. En algunas versiones de Ubuntu no será necesario, basta con hacer

    sudo apt-get install gcc-arm-none-eabi binutils-arm-none-eabi

  2. Descomprime el .zip que te hayas bajado del entorno en un fichero. Edita el Makefile y edita esta línea para poner

    GCC_BIN = /usr/bin/

que es donde se instala el compilador.

Puede que te dé algún problema del estilo

/usr/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: colorines.elf section `.text' will not fit in region `FLASH'
/usr/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: region `FLASH' overflowed by 208 bytes

En cuyo caso tendrás que recortar el tamaño del fichero, quitando variables e info de depuración, por ejemplo.

Si no te da ningún problema, te generará un .bin. Ya casi estás. Tendrás que pillarte el programa crcset.c y compilarlo. Este programa pone los bits de comprobación correctamente, para evitar el error que sale al final:

*****
***** You must modify vector checksum value in *.bin and *.hex files.
*****

Con eso, ya haces

./crcset nombre-del-programa.bin

¡Y ya estás listo! El programa crcset está incluido en este repo.

En el repositorio de CirCoLab tienes también un ejemplo, colorines, con todos los ficheros necesarios. Simplemente edita el programa main.cpp en ese directorio y escribe Make para crear el fichero de salida; aún así, tendrás que tener los compiladores necesarios instalados.

hack-miniblip.github.io's People

Contributors

asolisi avatar espectro123 avatar fergunet avatar hugobarzano avatar iblancasa avatar javacasm avatar jcristobal avatar jesus89 avatar jj avatar josealberto4444 avatar juanafernandez avatar makova avatar neon520 avatar obijuan avatar oslugr avatar paclema avatar psicobyte avatar rbg90 avatar renatolrr avatar seiya64 avatar terceranexus6 avatar unintendedbear avatar victordiaz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hack-miniblip.github.io's Issues

Create web page

This repo is actually made for that kind of thing. Create HTML /Markdown page to link to all the stuff here

Problemas con el loader MAC

He descargado el loader para Mac pero me lanza un error al descomprimirlo. Al final he conseguido descomprimirlo usando unzip desde el terminal pero, aun así, la aplicación no abre y lanza un error.

check if board is connected

For the NW.JS app a nodeJS that checks if the board is connected and mounted is needed. We have to be careful here since if we dd in the wrong /dev/* might be a quite painful situation :)

¿De donde bajais las librerias?

Pues eso, he llegado a casa y no he podido evitar probar algún codigo jaja. El caso es que he visto que usais librerias, y no se de donde sacarlas. He probado a bajarlas desde la herramienta de compilación (mbed creo que se la ha tragado) pero el neopixel o no logro elegir la correcta, o es que simplemente no está en el repertorio

Las librerias son:

# include "neopixel.h"```

create miniblip library

We did a really awesome progress during the hackathon.
It would be cool if we can merge some of the code we did into a reusable library to simplify some little things.

@javacasm Started to create one here https://github.com/hack-miniblip/hack-miniblip.github.io/tree/master/miniblip_lib

I propose methods as follow (What I'm writing here is pretty Java like. I'm not superinto C sintax so any proposal is more than welcome :)

miniblip.beep(note,  duration)
miniblip.matrix(i, j, r, g, b);
miniblip.matrixBrightness([0 ... 100);
miniblip.readButton();
miniblip.readPot();
miniblip.save(position, value); //Use the internal limited eeprom
miniblip.load(position, value); //load the stored value 

 //this is for the "circles". 
//Since the capacitance changes depending on the environment or things connected we need a way to calibrate them on the fly. 
miniblip.setCapacitivePin([ pin number], );
miniblip.capacitivePinThreeshold(value)

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.