Menu

Tree [r114] /
 History

HTTPS access


File Date Author Commit
 bootloader 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 config_application 2012-01-07 toddelliott [r114] empty
 default_scripts 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 docs 2011-04-07 toddelliott [r36] added docs/notes.txt and CHANGES file
 emc_test_application 2011-04-01 toddelliott [r27] empty
 experimental 2011-06-10 toddelliott [r61] added example of using the new cc1101_fhss_lib ...
 images 2011-04-02 toddelliott [r33] updated emc_measurements thumbnail image
 vikingXE_hardware 2011-03-29 toddelliott [r14] added gerbv project file
 CHANGES 2011-04-11 toddelliott [r39] added note about switching to zip for snapshot ...
 LICENSE 2011-03-27 toddelliott [r11] added license
 Makefile 2012-01-07 toddelliott [r110] fixed some roamer problems introduced in previo...
 README 2011-07-05 toddelliott [r62] updated readme
 SUPPORT 2011-03-30 toddelliott [r17] added SUPPORT
 TODO 2011-03-27 toddelliott [r10] empty
 adc.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 adc.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 aes_config_opts.h 2011-03-26 toddelliott [r1] initial import
 bl_flash.c 2011-10-07 toddelliott [r107] replaced fixed delays in cc1101 initialization ...
 bl_flash.h 2011-03-26 toddelliott [r1] initial import
 buffers.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 cc1100.c 2012-01-07 toddelliott [r110] fixed some roamer problems introduced in previo...
 cc1100.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 cmd.java 2011-08-17 toddelliott [r71] added handling of multiple default record scrip...
 command.c 2012-01-07 toddelliott [r112] reverted back to r108. added change to re-boot...
 command.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 common.h 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 config.c 2011-08-21 toddelliott [r78] added type63 and type64 record types. added su...
 config.h 2011-08-17 toddelliott [r71] added handling of multiple default record scrip...
 crc.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 crc.h 2011-03-26 toddelliott [r1] initial import
 crypt.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 crypt.h 2011-03-26 toddelliott [r1] initial import
 dhcp_subs.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 dhcps.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 dhcps.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 discover.java 2011-03-26 toddelliott [r1] initial import
 ethernet.c 2011-09-12 toddelliott [r93] don't use promicous mode for ethernet unless co...
 ethernet.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 event_handler.c 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 flash_partition.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 flash_sst.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 flash_sst.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 hop_pattern.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 hop_pattern.h 2011-03-26 toddelliott [r1] initial import
 interface.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 isr.c 2012-01-07 toddelliott [r112] reverted back to r108. added change to re-boot...
 isr.h 2011-08-21 toddelliott [r77] fixed wind speed problem. added initial suppor...
 listener.java 2011-12-04 toddelliott [r108] minor changes. changed logo in config app
 mac25aa02e48.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 mac25aa02e48.h 2011-03-26 toddelliott [r1] initial import
 main.c 2012-01-07 toddelliott [r113] empty
 main.ld 2011-03-26 toddelliott [r1] initial import
 mktime.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 mktime.h 2011-03-26 toddelliott [r1] initial import
 notes.txt 2012-01-06 toddelliott [r109] added notes for outputing RSSI over Ethernet on...
 pcf2123.c 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 pcf2123.h 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 picol.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 picol.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 read_slot.java 2011-08-17 toddelliott [r71] added handling of multiple default record scrip...
 rf_link_ip.c 2011-12-04 toddelliott [r108] minor changes. changed logo in config app
 rf_link_ip.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 rf_netif.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 rf_netif.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 route.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 route.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 spi.c 2011-10-04 toddelliott [r106] more changes to sleep and cc1101 initialization...
 spi.h 2011-10-04 toddelliott [r106] more changes to sleep and cc1101 initialization...
 startup_gcc.c 2011-08-16 toddelliott [r68] added firmware support for pulse counters and w...
 syscalls.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 tcp_subs.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 time.c 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 time.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 udp.c 2011-09-24 toddelliott [r102] added support for remotely updating base statio...
 udp_8888.c 2011-10-07 toddelliott [r107] replaced fixed delays in cc1101 initialization ...
 udp_8888.h 2011-04-01 toddelliott [r24] empty
 udp_fw_trans.c 2011-10-07 toddelliott [r107] replaced fixed delays in cc1101 initialization ...
 udp_fw_trans.h 2011-03-28 toddelliott [r12] applied preferred formatting style to all *.c a...
 write_slot.java 2011-03-26 toddelliott [r1] initial import

Read Me

/////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, Valhalla Wireless, Todd Elliott  http://valhalla-wireless.com/
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above copyright
//       notice, this list of conditions and the following disclaimer in the
//       documentation and/or other materials provided with the distribution.
//     * Neither the name of the Valhalla Wireless nor the
//       names of its contributors may be used to endorse or promote products
//       derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL Valhalla Wireless BE LIABLE FOR ANY
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// History
// creation t.elliott 2010
//


What is OpenFHSS?
------------------------------------------------------------


Project Development Site For Valhalla Wireless OpenFHSS. 
OpenFHSS is a community-based effort that includes hardware, 
firmware, and documentation for a 902-928MHz ISM, 50-channel, 
FHSS frequency hopping spread spectrum modem.

Features:

    * High Performance, Long-Range Frequency Hopping Spread Spectrum Modem
    * Synchronous, Multi-Hop Repeater Chains
    * Ethernet Bridge Mode
    * Automatic, over-the-air firmware updates. Master updates all slaves simultaneously
    * 4uA MCU initiated sleep current
    * 2ppm stability for frequency and system timing reference.
    * Industrial quality enclosure, connectors
    * Real-Time Data Collection System with user defined scripts
    * LM3S6965 32-Bit Stellaris ARM-core MCU, CC1101 transceiver, CC1190 LNA/PA
    * Highly immune to multipath fading, interference
    * 5mS Channel Dwell Time
    * -107dBm sensitivity, 27.1dBm output power enables communications range in tens of kilometers. Depending on installation, ranges of >50km are easy to achieve
    * Applications include battery-powered data collection, long-range internet communications. Quality Skype phone calls have been achieved with point-to-points links.


Donations:
To donate via paypal, please follow this link:
http://sourceforge.net/project/project_donations.php?group_id=513759

To donate using Bitcoin (BTC), please use the following address:
1LfnFyk55PGgymLAaWPWoeTWYasYiYbJQA

We really appreciate contributions to the project.  Thanks!



Related Links:
------------------------------------------------------------
OpenFHSS: https://sourceforge.net/projects/openfhss/
Valhalla Wireless:  http://valhalla-wireless.com/
News: http://valhalla-wireless.com/blog/
Support: http://valhalla-wireless.com/forums/viewforum.php?f=3
------------------------------------------------------------


LATEST VERSION - Please use subversion
-----------------------------------------

To download code from subversion: 
svn co https://openfhss.svn.sourceforge.net/svnroot/openfhss openfhss 


JTAG / IN-CIRCUIT-DEBUGGER
-----------------------------------------
We use the ICD board that comes with the Stellaris LM3S9b92 general development board
Connectors on the VikingXE design are compatible with ribbon cables on this dev board.


PREPARING DEV ENVIRONMENT
-----------------------------------------

Links

crosstool-ng  (building the toolchain made easy..  very nice!.)

http://ymorin.is-a-geek.org/projects/crosstool

OpenOCD project  (debugger / flashing).  Need the latest from GIT repository to get the interface and target definitions for the Stellaris parts.   This is done with git clone  (see below)

http://developer.berlios.de/projects/openocd

Open FTDI driver for accessing the FT2232 on the Stellaris boards

http://www.intra2net.com/en/developer/libftdi/download.php

#install crosstool-ng
bzip2 -d crosstool-ng-1.8.1.tar.bz2
tar -xf crosstool-ng-1.8.1.tar
cd crosstool-ng-1.8.1/
sudo apt-get install awk
sudo apt-get install gawk
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install libncurses-dev
sudo apt-get install zlib1g-dev
./configure
make
sudo make install
mkdir /home/user1/arm-eabi/
cd /home/user1/arm-eabi/
#copy sample file for baremetal build to new directory
cp /home/user1/downloads/crosstool-ng-1.8.1/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config .config
#build the entire toolchain
ct-ng build

#install open FTDI drivers
tar -xzf libftdi-0.18.tar.gz
cd libftdi-0.18/
sudo apt-get install libusb-dev
./configure
make
sudo make install
ldconfig

#install latest OpenOCD
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd openocd-git
cd openocd-git/
./bootstrap
./configure --enable-ft2232_libftdi
make
sudo make install

#add toolchain built by crosstool-ng to path
PATH="/home/user1/x-tools/arm-bare_newlib_cortex_m3_nommu-eabi/bin:${PATH}"
export PATH

#edit PREFIX in StellarisWare/makedefs to use new toolchain
PREFIX=arm-bare_newlib_cortex_m3_nommu-eabi

#build entire StellarisWare distribution
cd StellarisWare
make clean
make

#start openocd with stellaris configuration

#lm3s9b9x with external FTDI ICD board
#sudo openocd -f openocd-git/tcl/interface/luminary-icdi.cfg -f openocd-git/tcl/target/stellaris.cfg

#lm3s6965 with on-board FTDI
sudo openocd -f openocd-git/tcl/interface/luminary.cfg -f openocd-git/tcl/target/stellaris.cfg

#flash mcu with some code at address 0x00000 and execute
telnet localhost 4444
halt
flash write_image erase /tmp/main.bin 0
reset


COMPILING
-----------------------------------------
The OpenFHSS project in its current form is written to run on the TI Stellaris family of MCU.  It depends on the TI StellarisWare driverlib.

You will need to download StellarisWare from here:  http://www.luminarymicro.com/products/software_updates.html

To compile with GNU GCC, move the OpenFHSS folder to a project subdirectory within StellarisWare such as:   StellarisWare/boards/ek-lm3s6965/openfhss

From within the openfhss project directory:

make clean
make

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.