This is the Canon Hack Development Kit. It could be used to overwrite firmware which limits the functionality of Canon PowerShot models of cameras.
It can also brick a camera. The distinction seems difficult to determine.
ACID says the camera works but it can't download what I want :(
From there, download the full release and unzip it into an SD card as poorly documented.
It is also possible to enable the camera to boot into CHDK each time it is powered on. This, like most activities with this software suite, is complicated and error prone. For the powershot A2500 which belongs to Noisebridge, here's the procedure.
- Install the STICK utility, read lots of words, click lots of buttons
- Run it according to instructions (remember to be root on macOS or OS X)
- Flip the hardware lock switch on the card
Despite locking the SD card, the camera continues to be able to write photos to the card.
Remote Control requires a special PTP extension. From there it appears there are some helpful utilities. There is some low quality information regarding building the computer PTP interface on OS X 10.8. It will not build on macOS Sierra.
The info about PtpCamGui will result in a program that will connect to a camera. It's good for timelapse and other computer controlled features though it will not work for liveview. It seems to have limited features.
Download the binary.
For Gnome, disable gvfsd-gphoto2 with the venerable kill utility. To enter an interactive shell, do this
To take a picture and save it to the computer, give the script some arguments
./chdkptp.sh -c -e"rec" -e"rs selfie"
Follow the instructions to download, copy and link the IUP (Portable User Interface) and CD (Canvas Display) Lua libraries. Enable IUP and CD in config.mk then build the source. The binary doesn't have any GUI bindingscitation needed.
brew install lua libusb brew install --force readline svn co http://subversion.assembla.com/svn/chdkptp/trunk/ chdkptp cd chdkptp cp config-sample-linux.mk config.mk
replace LUA_INCLUDE_DIR and LUA_LIB with the following values
edit Makefile so that the line around 111 with the main LDFLAGS definition reads
LDFLAGS+=$(LIB_PATHS) -L/usr/local/opt/readline/lib $(patsubst %,-l%,$(LINK_LIBS) $(SYS_LIBS))
continue to build