Created
November 12, 2021 21:06
-
-
Save dromer/3235943b526c7d460088368c3e5ea953 to your computer and use it in GitHub Desktop.
field_through.pd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include "HeavyDaisy_heavy.hpp" | |
#define SAMPLE_RATE 48000.f | |
using namespace daisy; | |
Daisy hardware; | |
Heavy_heavy hv(SAMPLE_RATE); | |
void ProcessControls(); | |
void audiocallback(daisy::AudioHandle::InputBuffer in, daisy::AudioHandle::OutputBuffer out, size_t size) | |
{ | |
hv.process((float**)in, (float**)out, size); | |
hardware.PostProcess(); | |
} | |
static void sendHook(HeavyContextInterface *c, const char *receiverName, uint32_t receiverHash, const HvMessage * m) | |
{ | |
} | |
int main(void) | |
{ | |
hardware.Init(true); | |
hardware.driver.StartAudio(audiocallback); | |
hv.setSendHook(sendHook); | |
for(;;) | |
{ | |
hardware.Display(); | |
} | |
} | |
void ProcessControls() | |
{ | |
hardware.ProcessAllControls(); | |
hardware.CallbackWriteIn(hv); | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#ifndef _HEAVY_DAISY_HEAVY_ | |
#define _HEAVY_DAISY_HEAVY_ | |
// #include <string> | |
#include "Heavy_heavy.hpp" | |
#define ANALOG_COUNT 1 | |
#include "daisy_seed.h" | |
#include "dev/codec_ak4556.h" | |
using namespace daisy; | |
uint8_t pad_shift_debounced[8*2]; | |
LedDriverPca9685<2, true>::DmaBuffer DMA_BUFFER_MEM_SECTION led_driver_dma_buffer_a, led_driver_dma_buffer_b; | |
#include "dev/oled_ssd130x.h" | |
// name: field | |
struct Daisy { | |
void Init(bool boost = false) { | |
driver.Configure(); | |
driver.Init(boost); | |
i2c.Init({daisy::I2CHandle::Config::Peripheral::I2C_1, {driver.GetPin(11), driver.GetPin(12)}, daisy::I2CHandle::Config::Speed::I2C_1MHZ}); | |
led_driver.Init(i2c, {0x00, 0x02}, led_driver_dma_buffer_a, led_driver_dma_buffer_b); | |
pad_shift.Init({ driver.GetPin(28), driver.GetPin(27), { driver.GetPin(26) } }); | |
size_t pot_mux_index = 0; | |
cfg[pot_mux_index].InitMux(driver.GetPin(16), 8, driver.GetPin(21), driver.GetPin(20), driver.GetPin(19)); | |
driver.adc.Init(cfg, ANALOG_COUNT); | |
daisy::OledDisplay<daisy::SSD130x4WireSpi128x64Driver>::Config display_config; | |
display_config.driver_config.transport_config.Defaults(); | |
display.Init(display_config); | |
driver.adc.Start(); | |
} | |
void ProcessAllControls() { | |
} | |
void PostProcess() { | |
pad_shift.Update(); | |
// led_driver.SwapBuffersAndTransmit(); | |
} | |
void Display() { | |
} | |
void LoopWriteOut() { | |
} | |
void CallbackWriteOut() { | |
} | |
void CallbackWriteIn(Heavy_heavy& hv) { | |
} | |
void SetAudioSampleRate(daisy::SaiHandle::Config::SampleRate samplerate) { | |
driver.SetAudioSampleRate(samplerate); | |
SetHidUpdateRates(); | |
} | |
void SetAudioBlockSize(size_t size) { | |
driver.SetAudioBlockSize(size); | |
SetHidUpdateRates(); | |
} | |
void SetHidUpdateRates() { | |
} | |
daisy::DaisySeed driver; | |
daisy::AdcChannelConfig cfg[ANALOG_COUNT]; | |
ShiftRegister4021<2> pad_shift; | |
LedDriverPca9685<2, true> led_driver; | |
I2CHandle i2c; | |
daisy::OledDisplay<daisy::SSD130x4WireSpi128x64Driver> display; | |
int menu_click = 0, menu_hold = 0, menu_rotate = 0; | |
}; | |
extern Daisy hardware; | |
#endif // _HEAVY_DAISY_HEAVY_ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment