Commit graph

126 commits

Author SHA1 Message Date
Aadi Desai 2227bb8afa
Increase CORDIC time to 7 cycles from 3, reduce osc to 32 2023-06-25 12:15:05 +01:00
Aadi Desai 3fe1a457ab
Fix volume, higher = louder 2023-06-24 21:06:39 +01:00
Aadi Desai 10920aa065
Add functions to demo to control amp 2023-06-24 20:59:47 +01:00
Aadi Desai 44215ffdf0
Add amp control library using i2c 2023-06-24 20:53:04 +01:00
Aadi Desai cd0defbbb4
Add links to readme 2023-06-24 20:52:44 +01:00
Aadi Desai bb3b3b11cc
Comment out LiteScope Analyzer, low comb remaining 2023-06-24 20:52:22 +01:00
Aadi Desai 00c35f8476
Add amp volume control I2C Master 2023-06-24 20:51:40 +01:00
Aadi Desai e3758d0cf8
Fix build script exits 2023-06-24 15:50:19 +01:00
Aadi Desai 22323d6453
Make soft wave end signed 2023-06-21 12:14:20 +01:00
Aadi Desai 8f3223c78f
Fix csr.csv generation 2023-06-21 09:22:50 +01:00
Aadi Desai 2829a32dc6
Tidy project
Rename modules for clarity
Move LiteX modules into `modules/`
Move extras into `notes/`
2023-06-18 17:25:53 +01:00
Aadi Desai bca01eefcb
Extra links for CPU change / FreeRTOS 2023-06-10 16:54:38 +01:00
Aadi Desai e3b080235a
Visualise IRQ via LED 2023-06-10 15:18:42 +01:00
Aadi Desai 5871150c5c
Fixes to demo program 2023-06-10 14:56:07 +01:00
Aadi Desai fe3b92d527
Switch from vexriscv to picorv32
Interrupts appear to be broken on `vexriscv`
Performance of `picorv32` is significantly lower than `vexriscv`
2023-06-10 14:08:56 +01:00
Aadi Desai 9da49fa5e3
Add can_init() and can_isr() 2023-06-10 14:07:36 +01:00
Aadi Desai be6ab940ff
Add interrupt output to can wrapper 2023-06-10 14:06:09 +01:00
Aadi Desai 4c8687014e
Add custom isr.cpp to project 2023-06-10 14:04:15 +01:00
Aadi Desai eb55b06779
Add pulse output to can for frame received 2023-06-09 13:58:42 +01:00
Aadi Desai 391c58c7c6
Update demo readme.md for updated BUILD_DIR 2023-06-09 11:15:02 +01:00
Aadi Desai d970fded6a
Fix can_listen_cmd() 2023-06-08 16:14:03 +01:00
Aadi Desai 795a9d2916
Fix genWave output glitches 2023-06-08 16:13:32 +01:00
Aadi Desai 80f82cdc10
Fix genWave wave addition 2023-06-08 16:13:18 +01:00
Aadi Desai 5bf1833a03
Fix BUILD_DIR var in demo Makefile 2023-06-08 11:22:25 +01:00
Aadi Desai 8be509cd90
Update main.cpp to use audio header and helpers 2023-06-08 01:37:59 +01:00
Aadi Desai f1dc882f93
Remove float from audio headers and helper files 2023-06-08 01:26:23 +01:00
Aadi Desai cfa699fe84
Revert genWave to 24bit int, floats fail to compile 2023-06-08 01:19:36 +01:00
Aadi Desai 17bb4ae5cd
Swap note header and helper functions for audio 2023-06-08 00:40:48 +01:00
Aadi Desai 9d5b77be87
Update make.py to use TestWave from TestSaw 2023-06-07 23:02:11 +01:00
Aadi Desai 4c4d287c63
Update genWave to use 24.4 bit fixed point
Improve frequency target accuracy from 1Hz to 0.0625Hz
2023-06-07 23:01:20 +01:00
Aadi Desai c19b7e625f
Add testWave.py LiteX wrapper 2023-06-07 22:55:08 +01:00
Aadi Desai 54654bd5f8
Add genWave.sv
Supports 64 oscillators
Merges waveforms with volume reduced to range 0.5-1 of single wave
Heavily optimised to reduce area / MUL requirements
2023-06-07 22:53:04 +01:00
Aadi Desai c9e9f9b483
Clean up main.py 2023-06-07 22:49:25 +01:00
Aadi Desai fd53e3c579
Move sine bit inversion from genSaw to saw2sin 2023-06-06 18:51:36 +01:00
Aadi Desai 964d0b0c5e
Add propegation test and results waveform 2023-06-05 18:28:22 +01:00
Aadi Desai b9ea99a601
Clean up build + make scripts, add links to readme 2023-06-05 16:35:17 +01:00
Aadi Desai a8748bb424
Update demo C++ readme with instructions 2023-06-05 13:53:29 +01:00
Aadi Desai 47574015e4
Remove unused files 2023-06-05 13:52:59 +01:00
Aadi Desai aac2ad4c62
Add always_ff in saw2sin to fix glitches 2023-06-04 14:14:05 +01:00
Aadi Desai 6d670dc903
Add function to play audio from CAN frames, no polyphony 2023-06-04 13:45:17 +01:00
Aadi Desai 8e534f9858
Extend defined notes in note header 2023-06-04 13:11:45 +01:00
Aadi Desai 392374b8dc
Add functions to demo to test CAN block / helpers
Get / Set can filter ID & mask
Read last CAN frame
Read CAN frames in a loop
2023-06-04 12:58:14 +01:00
Aadi Desai 6cf6d0a643
Create CAN helper functions
Get / Set CAN filter ID
Get / Set CAN filter mask
Get latest valid CAN frame in `can_frame` struct
2023-06-04 12:42:03 +01:00
Aadi Desai a000c35f46
Add CAN receiver / pin definitions to make.py 2023-06-04 12:40:54 +01:00
Aadi Desai ac92cebbae
Create CAN wrapper module
`CSRStorage` for setting CAN filter ID and Mask
`CSRStatus` for received message ID and 8 data bytes
2023-06-04 12:39:51 +01:00
Aadi Desai 743c9fdb64
Create CAN RX block, ACKs frames, no TX 2023-06-04 12:38:39 +01:00
Aadi Desai 4b57bdfa80
Update cordic.sv and saw2sin.sv for better accuracy, genSaw.sv to fix polarity of tri/sin 2023-06-04 12:07:28 +01:00
Aadi Desai 59ec852558
Add links for CAN Implementation to readme.md 2023-06-04 12:03:22 +01:00
Aadi Desai 07edec0fb7
Update build.sh dfu-util to wait for device if not present 2023-06-04 12:01:56 +01:00
Aadi Desai d784f6d251
Add sine wave generator using cordic 2023-05-28 16:07:23 +01:00