Starting with this release we will no longer use "unknown" as the
default software version string used in cases where the version cannot
be determined from context. Instead we commit the release version string
to git so that any software built from the tagged commit will have the
appropriate release version string. After the release we will commit a
post-release version string as the new default.
We will continue to use the commit hash as version string when the
software is built inside a git repository.
Firmware now detects the hardware it is running on at startup and
refuses to run if it is compiled for the wrong platform. The board ID
returned by firmware to the host is now derived from run-time detection
rather than a compile-time value. A separate method to retrieve
compile-time supported platform is added.
On HackRF One, pin straps are checked to determine hardware revision.
This is informational to aid troubleshooting and does not affect any
function.
This uses `add_custom_command` to run a cmake script instead of using
`configure_file` directly, which allows for adding dependencies and
creates an ouput that can be depended on.
It also uses `add_custom_command` instead of `add_custom_target` to
create the M0 binary, since custom targets have no output file to depend
on.
Unfortunately, multiple targets cannot depend on the same generated file
or cmake tries to run the generation multiple times in parallel. So, the
.bin/.s generation is now duplicated for each target so they don't
conflict.
fixes#693
* Try artefacts deployed to gh_pages
* Try to use gh_pages from the travis_artefacts branch
* Try deploying to a different repo
* Try to organise files deployed to github pages
* Test pushing a local dir to master
* Try pushing to original repo
* Be verbose so I can debug it
* Setting env variables
* Oops, environment variables aren't what I thought
* Try to push to nightly repo
* Remove unused cp command
* Copy firmware to archive directory
* Fix pathing to artefacts
* Use TRAVIS_BUID_DIR instead of assuming path
* Use mkdir -p to ensure directories exist
* Put / back in to CPLD path
* Move repo to GSG
* Switch to master branch
* Add nightly deployment
* Fix escaping in sed command
* Allow firmware version styring to be overridden
* Fix some sed commands....
* Switch to master branch for builds
This includes:
* Cmake clean up - thanks @Qyriad
* Windows binaries saved after each appveyor build
* A bump to the Visual Studio version that we use to build it
* An appveyor cygwin script for building firmware, it doesn't work but it seems like someone might pick it up and make it work, or blow it away if we switch to Travis firmware artefacts
Just a very rough merge to get off the ground. Major parts are not yet
implemented. The mixer intergration is in a messed up state. Part which
need work have been marked with XXX
Conflicts:
firmware/common/hackrf_core.c
firmware/common/hackrf_core.h
firmware/common/max2837.c
firmware/common/max2837.h
firmware/common/rf_path.c
firmware/common/rffc5071.c
firmware/common/rffc5071.h
firmware/common/sgpio.c
firmware/common/si5351c.c
firmware/common/tuning.c
firmware/common/w25q80bv.c
firmware/common/w25q80bv.h
firmware/common/xapp058/ports.c
firmware/hackrf-common.cmake
firmware/hackrf_usb/hackrf_usb.c
firmware/hackrf_usb/usb_api_register.c
firmware/hackrf_usb/usb_api_transceiver.c
host/hackrf-tools/src/hackrf_transfer.c