Fork of SX1276 Lib

Fork of SX1276Lib by Semtech

Files at this revision

API Documentation at this revision

Comitter:
atarbey
Date:
Mon Jan 23 12:18:01 2017 +0000
Parent:
28:8fb2ff77baef
Commit message:
Modified for Drifter v1.1

Changed in this revision

sx1276/SWSPI.cpp Show diff for this revision Revisions of this file
sx1276/SWSPI.h Show diff for this revision Revisions of this file
sx1276/sx1276-hal.cpp Show annotated file Show diff for this revision Revisions of this file
sx1276/sx1276.h Show annotated file Show diff for this revision Revisions of this file
diff -r 8fb2ff77baef -r d0d219851731 sx1276/SWSPI.cpp
--- a/sx1276/SWSPI.cpp	Tue Dec 06 10:42:05 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/* SWSPI, Software SPI library
- * Copyright (c) 2012-2014, David R. Van Wagner, http://techwithdave.blogspot.com
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include <mbed.h>
-#include "SWSPI.h"
-
-SWSPI::SWSPI(PinName mosi_pin, PinName miso_pin, PinName sclk_pin)
-{
-    wait(5.0); //silly wait because of wiring problem on ocean-drifter 1.0
-    mosi = new DigitalOut(mosi_pin);
-    miso = new DigitalIn(miso_pin);
-    sclk = new DigitalOut(sclk_pin);
-    format(8);
-    frequency();
-}
-
-SWSPI::~SWSPI()
-{
-    delete mosi;
-    delete miso;
-    delete sclk;
-}
-
-void SWSPI::format(int bits, int mode)
-{
-    this->bits = bits;
-    this->mode = mode;
-    polarity = (mode >> 1) & 1;
-    phase = mode & 1;
-    sclk->write(polarity);
-}
-
-void SWSPI::frequency(int hz)
-{
-    this->freq = hz;
-}
-
-int SWSPI::write(int value)
-{
-    int read = 0;
-    for (int bit = bits-1; bit >= 0; --bit)
-    {
-        mosi->write(((value >> bit) & 0x01) != 0);
-
-        if (phase == 0)
-        {
-            if (miso->read())
-                read |= (1 << bit);
-        }
-
-        sclk->write(!polarity);
-
-        wait(1.0/freq/2);
-
-        if (phase == 1)
-        {
-            if (miso->read())
-                read |= (1 << bit);
-        }
-
-        sclk->write(polarity);
-
-        wait(1.0/freq/2);
-    }
-    
-    return read;
-}
-
diff -r 8fb2ff77baef -r d0d219851731 sx1276/SWSPI.h
--- a/sx1276/SWSPI.h	Tue Dec 06 10:42:05 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/* SWSPI, Software SPI library
- * Copyright (c) 2012-2014, David R. Van Wagner, http://techwithdave.blogspot.com
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#ifndef SWSPI_H
-#define SWSPI_H
-
-/** A software implemented SPI that can use any digital pins
- *
- * Useful when don't want to share a single SPI hardware among attached devices
- * or when pinout doesn't match exactly to the target's SPI pins
- *
- * @code
- * #include "mbed.h"
- * #include "SWSPI.h"
- * 
- * SWSPI spi(p5, p6, p7); // mosi, miso, sclk
- * 
- * int main() 
- * {
- *     DigitalOut cs(p8);
- *     spi.format(8, 0);
- *     spi.frequency(10000000);
- *     cs.write(0);
- *     spi.write(0x9f);
- *     int jedecid = (spi.write(0) << 16) | (spi.write(0) << 8) | spi.write(0);
- *     cs.write(1);
- * }
- * @endcode
- */
-class SWSPI
-{
-private:
-    DigitalOut* mosi;
-    DigitalIn* miso;
-    DigitalOut* sclk;
-    int port;
-    int bits;
-    int mode;
-    int polarity; // idle clock value
-    int phase; // 0=sample on leading (first) clock edge, 1=trailing (second)
-    int freq;
-    
-public:
-    /** Create SWSPI object
-     *
-     *  @param mosi_pin
-     *  @param miso_pin
-     *  @param sclk_pin
-     */
-    SWSPI(PinName mosi_pin, PinName miso_pin, PinName sclk_pin);
-    
-    /** Destructor */
-    ~SWSPI();
-    
-    /** Specify SPI format
-     *
-     *  @param bits  8 or 16 are typical values
-     *  @param mode  0, 1, 2, or 3 phase (bit1) and idle clock (bit0)
-     */
-    void format(int bits, int mode = 0);
-    
-    /** Specify SPI clock frequency
-     *
-     *  @param hz  frequency (optional, defaults to 10000000)
-     */
-    void frequency(int hz = 10000000);
-    
-    /** Write data and read result
-     *
-     *  @param value  data to write (see format for bit size)
-     *  returns value read from device
-     */
-    int write(int value);
-};
-
-#endif // SWSPI_H
diff -r 8fb2ff77baef -r d0d219851731 sx1276/sx1276-hal.cpp
--- a/sx1276/sx1276-hal.cpp	Tue Dec 06 10:42:05 2016 +0000
+++ b/sx1276/sx1276-hal.cpp	Mon Jan 23 12:18:01 2017 +0000
@@ -59,14 +59,14 @@
                             antSwitch( P0_23 ), 
                             fake( A3 )
                         #elif defined( TARGET_XDOT_L151CC)
-                        //:  SX1276( events, PA_15, PA_14, PB_3, PB_4, PB_8, PB_6, PA_5, PA_6, PA_7, PB_1, PB_5 ), //
                         :  SX1276( events, PA_15, PA_14, PB_3, PB_4, PC_13, PB_6, PB_8, PB_2, PB_9, PB_15, PB_5 ), 
                             antSwitch( PB_0 ),
                             fake( PB_1 )
                         #elif defined( TARGET_MOTE_L152RC ) 
-                        :  SX1276( events, PA_15, PA_14, PB_3, PB_4, PC_13, PB_6, PB_8, PB_2, PB_9, PB_15, PB_5 ), 
+                        // This is Pinout Setting for Drifter v1.1 (To Do: move to commisioning / main file)
+                        :  SX1276( events, PB_5, PB_4, PB_3, PA_15, PA_1, PA_6, PA_7, PA_8, PB_15, PA_0, PB_14 ), 
                             antSwitch( PB_0 ),
-                            fake( PB_1 )
+                            fake( PB_2 )
                         #else
                         :   SX1276( events, D11, D12, D13, D10, A0, D2, D3, D4, D5, D8, D9 ),
                             antSwitch( A4 ), 
@@ -77,9 +77,10 @@
 
     Reset( );
     
-    boardConnected = SX1276MB1LAS;
-    
-    DetectBoardType( );
+    //Determine the board type
+    // board known: Hope RFM95 / RFM98: SX1276MB1LAS (PA_Boost Pin),
+    //              Semtech Board :     SX1276MB1MAS (RFO Pin)
+    boardConnected = SX1276MB1LAS; 
     
     RxChainCalibration( );
     
diff -r 8fb2ff77baef -r d0d219851731 sx1276/sx1276.h
--- a/sx1276/sx1276.h	Tue Dec 06 10:42:05 2016 +0000
+++ b/sx1276/sx1276.h	Mon Jan 23 12:18:01 2017 +0000
@@ -19,7 +19,6 @@
 #include "./registers/sx1276Regs-Fsk.h"
 #include "./registers/sx1276Regs-LoRa.h"
 #include "./typedefs/typedefs.h"
-#include "SWSPI.h"
 
 
 
@@ -53,7 +52,7 @@
     /*!
     * SPI Interface
     */
-    SWSPI spi; // mosi, miso, sclk
+    SPI spi; // mosi, miso, sclk
     DigitalOut nss;  
 
     /*!