Pisound 1.01 update!

Hey guys,

We’ve released new versions of pisound-btn, kernel module and firmware for the pisound beta boards!

In a nutshell, we have improved the visual feedback of using the button to load puredata patches, added 16 bit sample format support and made it compatible with the volumealsa widget.

To get the latest stuff, you need to upgrade the firmware, instructions here ( https://github.com/BlokasLabs/pisound-firmware) and run the install-pisound.sh script again ( http://blokas.io/pisound )

pisound-btn changes:

  • Double Click event support added.
  • single_click.sh script will attempt to mount any attached USB device as well as search for main.pd first in the attached media, then, if not yet found, in /usr/local/etc/pisound-patches/ in the sdcard.
  • double_click.sh script will kill all puredata instances and unmount the attached USB devices.
  • hold.sh script will still safely shutdown the device.
  • down.sh script was added for completeness, for your customization.
  • up.sh script was also added for completeness, for your customization.
  • Better visual feedback using the MIDI activity LEDs added:
  • After every click, the LEDs should flash.
  • In case of single_click.sh success, the LEDs should flash three times after puredata got started (can take a few seconds).
  • In case the patch was not found after single_click, one long flash should be displayed (firmware update for beta pisound boards is required).
  • After double_click.sh finishes unmounting attached media, it will flash with moderate duration for 2 times.
  • After hold.sh, the LED will flash 10 times quickly.

More info:

Kernel module changes:

  • Added /sys/kernel/pisound/led sysfs object for allowing scripts to flash MIDI LEDs for variable durations, firmware was accordingly.
  • Added compatibility with 16 bit sample formats.
  • Fixed generic bcm2835-i2s driver to allow asymmetric sample formats.
  • Added compatibility with volumealsa raspbian widget, so pisound can be set as default output card through it.

More info:



1 Like

Hi,
I’ve just installed the new firmare and everything goes fine apart a dependencie problem with the customize avrdude installation (from a clean raspbian pixel ) :
N: Is the package apt-transport-https installed?
just
sudo apt-get install apt-transport-https
resolved my problem.

The scripts works great with other installations,

Good work !

1 Like

Interesting, thanks for sharing! This must have been some system / apt-get related package that was missing, it’s not a direct dependency for setting up avrdude, so for now I will not integrate it into install.sh.

Hi,

I am new to pisound - I got my beta last week. Do I have to update the firmware of the beta card also?
How can I see which firmware is installed?
Is it enough to say on the raspi “rpi-update” for installing the new drivers?

Thanks, Holger

Holger,

to check the firmware version type: cat /sys/kernel/pisound/version
If I remeber correctly we flashed your board with 1.01 version before sending it.

Cheers!

@Pranciskus

ok - many thanks! Will check this soon!

Regards, Holger

Hi - finally got around to trying this. I can get avrdude running ok, and clone the repo. But after flashing I get this:

pi@raspberrypi:~/pisound-firmware/pisound-firmware $ The kernel module version (0200) and pisound-btn version (0100) are incompatible! Please check for updates at http://blokas.io/pisound

Not sure how to get around this! Any help gratefully received :slight_smile:

Here’s the full output

pi@raspberrypi:~/pisound-firmware $ avrdude --version
avrdude: invalid option -- '-'
Usage: avrdude [options]
Options:
  -p <partno>                Required. Specify AVR device.
  -b <baudrate>              Override RS-232 baud rate.
  -B <bitclock>              Specify JTAG/STK500v2 bit clock period (us).
  -C <config-file>           Specify location of configuration file.
  -c <programmer>            Specify programmer type.
  -D                         Disable auto erase for flash memory
  -i <delay>                 ISP Clock Delay [in microseconds]
  -P <port>                  Specify connection port.
  -F                         Override invalid signature check.
  -e                         Perform a chip erase.
  -O                         Perform RC oscillator calibration (see AVR053). 
  -U <memtype>:r|w|v:<filename>[:format]
                             Memory operation specification.
                             Multiple -U options are allowed, each request
                             is performed in the order specified.
  -n                         Do not write anything to the device.
  -V                         Do not verify.
  -u                         Disable safemode, default when running from a script.
  -s                         Silent safemode operation, will not ask you if
                             fuses should be changed back.
  -t                         Enter terminal mode.
  -E <exitspec>[,<exitspec>] List programmer exit specifications.
  -x <extended_param>        Pass <extended_param> to programmer.
  -y                         Count # erase cycles in EEPROM.
  -Y <number>                Initialize erase cycle # in EEPROM.
  -v                         Verbose output. -v -v for more.
  -q                         Quell progress output. -q -q for less.
  -l logfile                 Use logfile rather than stderr for diagnostics.
  -?                         Display this usage.

avrdude version 6.1-svn-20130917-blokas, URL: <http://savannah.nongnu.org/projects/avrdude/>
pi@raspberrypi:~/pisound-firmware $ git clone https://github.com/BlokasLabs/pisound-firmware
Cloning into 'pisound-firmware'...
remote: Counting objects: 34, done.
remote: Total 34 (delta 0), reused 0 (delta 0), pack-reused 34
Unpacking objects: 100% (34/34), done.
Checking connectivity... done.
pi@raspberrypi:~/pisound-firmware $ cd pisound-firmware
pi@raspberrypi:~/pisound-firmware/pisound-firmware $ ./flash.sh

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9315
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "pisound.hex"
avrdude: input file pisound.hex auto detected as Intel Hex
avrdude: writing flash (1386 bytes):

Writing | ################################################## | 100% 0.89s

avrdude: 1386 bytes of flash written
avrdude: verifying flash memory against pisound.hex:
avrdude: load data flash data from input file pisound.hex:
avrdude: input file pisound.hex auto detected as Intel Hex
avrdude: input file pisound.hex contains 1386 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.46s

avrdude: verifying ...
avrdude: 1386 bytes of flash verified

avrdude: safemode: Fuses OK (E:FF, H:D7, L:EF)

avrdude done.  Thank you.

pi@raspberrypi:~/pisound-firmware/pisound-firmware $ The kernel module version (0200) and pisound-btn version (0100) are incompatible! Please check for updates at http://blokas.io/pisound

pi@raspberrypi:~/pisound-firmware/pisound-firmware $

OK so I’m doing

wget http://blokas.io/pisound/install-pisound.sh -O install-pisound.sh
chmod +x install-pisound.sh
./install-pisound.sh 

and that looks like it will fix it!

Dan

1 Like

Yep, that’s the right way to solve it :slight_smile:

OK so I have PiSound 1.02 hooray :slight_smile:

But the button isn’t working: 1, 2, 3 clicks don’t load main, unmount the drive, or set up a wifi hotspot. Long press does shut the system down so at least I know the button is working!

Looks like the install was fine and it is seeing the usb drive when I plug it in.

Any ideas?

Cheers

Dan

Thank you for detecting this! There was a mistake in click.sh script of the button, I have just pushed a fix for that.

You may re-run the install-pisound.sh script or this should suffice:

cd pisound/pisound-btn
git pull
sudo make install

Thanks - when I try the git pull, or re-run install-pisound.sh I get this:

pi@raspberrypi:~ $ ./install-pisound.sh
Hi there! Let’s get pisound setup process started!

Checking for kernel updates…

Updating pisound repository with latest stuff in https://github.com/BlokasLabs/pisound...
Updating b32747a..49dee54
error: Your local changes to the following files would be overwritten by merge:
	disable-pisound.sh
	enable-pisound.sh
Please, commit your changes or stash them before you can merge.
Aborting

I’m not up with GH enough to know what to do, I don’t want to commit changes from here as that would change your updates (?!)

Thanks again for your help

D

Sure way to fix it would be to remove the ‘pisound’ folder and get it again:

rm -rf pisound
git clone https://github.com/BlokasLabs/pisound.git

OK thats sorted it! Thanks again for your support :slight_smile:

I’ll get to work on the midi controller you sent some stuff over about later this week and will report back!

Cheers

Dan

2 Likes