Skip to content

Instantly share code, notes, and snippets.

#include <Bela.h>
#include <DigitalChannelManager.h>
#include <cmath>
#include <stdio.h>
#define PD_THREADED_IO
#include <libpd/z_libpd.h>
extern "C" {
#include <libpd/s_stuff.h>
};
#include <libraries/UdpServer/UdpServer.h>
void loop(void*)
{
unsigned int logIdx = 0;
std::vector<float> logs(10000);
unsigned int writeFileSize = logs.size() + 5000;
freq_mod_tone_bela.setBufferSize(writeFileSize);
while(!Bela_stopRequested())
{
// Read locations from Trill sensor
@giuliomoro
giuliomoro / render.cpp
Last active May 21, 2021 07:37
Bela: Compute CPU time for render()
#include <Bela.h>
#include <chrono>
bool setup(BelaContext* context, void* userArg)
{
// your initialisation code goes here
// ...
auto start = std::chrono::steady_clock::now();
unsigned int times = 10000;
for(unsigned int n = 0; n < times; ++n)
giulio@builder:~/xenomai-images$ kas-container build kas.yml:board-beagle-bone-black.yml:opt-linux-latest-5.4.yml
2021-02-09 11:04:37 - INFO - kas 2.3.3 started
2021-02-09 11:04:37 - INFO - /repo$ git rev-parse --show-toplevel
2021-02-09 11:04:37 - INFO - /repo$ git rev-parse --show-toplevel
2021-02-09 11:04:37 - INFO - /repo$ git rev-parse --show-toplevel
2021-02-09 11:04:37 - INFO - /repo$ git rev-parse --show-toplevel
2021-02-09 11:04:37 - INFO - Using /repo as root for repository xenomai
2021-02-09 11:04:37 - INFO - /work/isar$ git remote set-url origin https://github.com/ilbers/isar.git
2021-02-09 11:04:37 - INFO - /work/isar$ git cat-file -t 1cfe166c5e53ae96bc07b895a92bf6cd7ace7bc9
2021-02-09 11:04:37 - INFO - Repository isar already contains 1cfe166c5e53ae96bc07b895a92bf6cd7ace7bc9 as commit
@giuliomoro
giuliomoro / _main.pd
Created March 14, 2021 19:14
HC-SR04 for Pd on Bela, sample-accurate
#N canvas 87 19 1280 778 12;
#X obj 160 234 samphold~;
#X floatatom 160 311 7 0 0 0 - - -;
#X obj 160 279 snapshot~;
#X obj 49 138 loadbang;
#X obj 51 181 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 806 40 loadbang;
#X obj 808 83 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
@giuliomoro
giuliomoro / _main.pd
Created March 29, 2021 12:37
Bela: libpd + HC-SR04 ultrasonic distance sensor, implemented in C++
#N canvas 0 22 450 300 12;
#X obj 37 37 r distance;
#X obj 76 90 print;
#X connect 0 0 1 0;
@giuliomoro
giuliomoro / Evo.h
Last active May 6, 2021 17:09
Bela: libpd + EVO time-of-flight sensor, implemented in C++
#include <I2c.h>
class Evo : public I2c
{
public:
int readI2C() override {
i2c_char_t c = 0;
if(write(i2C_file, &c, sizeof(c)) != sizeof(c))
{
// error, abort
// based on default_libpd_render.cpp at 319c9f9fd6c8af38a8336161c252d86315a2380a. Estimates CPU usage for the patch by processing
// several seconds of audio in setup() and printing the estimated CPU time. Then it exits.
// check for modifications "CPU_METER"
/*
* Default render file for Bela projects running Pd patches
* using libpd.
*/
#include <Bela.h>
@giuliomoro
giuliomoro / _main.pd
Last active October 12, 2023 19:28
An example _main.pd to use on Bela . Make sure the branch of Bela you are using has support for BELA_LIBPD_SERIAL in Bela/core/default_libpd_render.cpp
#N canvas 368 72 801 510 12;
#X obj 104 216 s bela_setSerial;
#X obj 342 251 r bela_serial;
#X obj 104 21 loadbang;
#X obj 128 362 unpack f f f f f f;
#X obj 128 405 pack f f f f f f;
#X obj 127 444 print floats;
#X obj 346 372 unpack s s s s s s;
#X obj 346 408 pack s s s s s s;
#X obj 345 447 print symbols;
@giuliomoro
giuliomoro / Makefile
Created October 7, 2022 09:03
hvcc basic build on macos 10.14.6
C_SRCS:=$(wildcard c/*.c)
CXX_SRCS:=$(wildcard c/*.cpp hvwrap.cpp)
C_OBJS:=$(C_SRCS:%.c=%.o)
CXX_OBJS:=$(CXX_SRCS:%.cpp=%.o)
CPPFLAGS:=-Ic -include aligned_alloc.h
CXXFLAGS:=-std=c++14
CFLAGS:=-std=c11
CXX:=clang++
CC:=clang