At last, PandwaRF has an Android SDK. The library is called gollum. You can include this library module to your Android project and develop your own application to drive your PandwaRF.

PandwaRF Android Developer page PandwaRF Wiki PandwaRF Web site

API v0.13.3

Go to API

API changes - 03 Sep 2024

  • Support of Android SDK 34

API v0.13.3

Go to API

API changes - 28 Aug 2024

  • Support of Android SDK 33 and older
  • Several changes have been made please check the Javadoc & the wiki to to find out how to initiate a connection to a PandwaRF

API v0.9.27

Go to API

API v0.9.12

Go to API

API changes - Fri, 06 July 2018

  • improve javadoc for GollumDongle API (CC1111 FW update) and readability
  • nrftoolbox: close() and disconnect() BluetoothGatt upon unexpected BLE disconnect
  • nrftoolbox: fix crash when unregistering non registered receivers
  • nrftoolbox: fix NPE when destroying BleManager
  • update some deprecated method javadoc
  • nrftoolbox: clean RSSI measurement timer
  • nrftoolbox: add trace when trying to connect with BT off
  • nrftoolbox: detect BLE service restart on Samsung Galaxy S5: after 10s of connection, the BT process restarts and the link is closed
  • CC1111 FW update: add security to avoid calling callback accidentally when watchdogTimer expires
  • start/stop CC1111 FW update timers from pre/post asynctask
  • nrftoolbox: use TRANSPORT_LE as preferred transport for GATT connections
  • nrftoolbox: add some traces for BLE adapter state
  • load C++ runtime library from Java (revert to pre 1.4.10 version)
  • init to offline mode by default

API v0.9.11

Go to API

API changes - Fri, 06 July 2018

  • nrftoolbox: use current useTxFifoQueue value when enqueing Request
  • add CC1111 FW update APIs with hex file and path
  • consolidate Files utils into single Lib class
  • add parameter to enqueue all TX packets into a FIFO queue (default) or use single packet transmission (fallback)
  • CC1111 FW update: add a fine progress callback to be notified when a packet has been sent
  • CC1111 FW update: use BLE write with Ack when sending pages
  • nrftoolbox: do not block TX queue in wait() if no Request was sent
  • nrftoolbox: use ConcurrentLinkedQueue offer() instead of add() for TX queue
  • Jamming Detection: add Start, Stop and Result methods
  • split offline mode into backend/analytics/crash report modes
  • force Dongle state to free when device disconnects
  • add traces when loading native libraries
  • force offline mode in sdk build type
  • nrftoolbox: fix IllegalStateException in stopScan() when BT Adapter is not turned ON
  • Use the new gradle dependency configurations
  • update targetSdkVersion to target API level 24

API v0.9.10

Go to API

API changes - Thu, 14 June 2018

  • disable Fabric in non-release builds (debug or sdk)
  • nrftoolbox: update to v1.0.11
  • add/remove missing/un-needed dependencies
  • use ReLinker for native library loading
  • load native libraries in Sub1GHzRfTransceiver constructor
  • do not load C++ runtime library from Java
  • NDK build: increase minimum API level for native library support to API level 18
  • move Fabric/Crashlytics initialization to Gollum Lib
  • add methods to scan BLE devices for variable duration
  • use same xxxSdkVersion and supportLibraryVersion for all Gollum Android modules
  • add missing status callbacks in updateFirmwareNordic()
  • fix repeat value in saveButtonConfigInFlash function for CC1111
  • trace all PandwaRF not connected as errors in API calls
  • clarify some comments for Nordic DFU methods

API v0.9.8

Go to API

API changes - Mon, 23 Apr 2018

  • save config in Flash: fix wrong data buffer conversion in saveButtonConfigInFlash()
  • add more Javadoc comments in GollumDongle
  • add/fix RX/TX message flush functions: rxFlush()/txFlush()
  • remove duplicate hex conversion function

API v0.9.7

Go to API

API changes - Wed, 28 Mar 2018

  • USB: fix crash when claiming USB interface while connection is null
  • add repeat paramter in txSend(), txSendHex()
  • RX/TX: handle HW/SW repeat parameter

API v0.9.6

Go to API

API changes - Thu, 1 Mar 2018

  • fix USB device not displayed and not opened when user choose USB connection just once option

API v0.9.5

Go to API

API changes - Mon, 26 Feb 2018

  • CC1111 register R/W: use same wait delay as NPI timeouts

API v0.9.4

Go to API

API changes - Fri, 23 Feb 2018

  • add traces in all AsyncTask onPostExecute()
  • Huawei fix (generalized to all devices): Do not wait for confirmation that TX packet has been queued

API v0.9.3

Go to API

API changes - Wed, 21 Feb 2018

  • add API to force Nordic nRF51 chipset into sleep mode
  • add API to reset nRF51 chipset
  • add API to set battery capacity
  • save RxTx data in hex string instead of string array
  • update TxConfig and RxTxConfig classes
  • regroup hex String <-> byte array conversion function to Hex class
  • skip device when non Gollum USB device detected

API v0.9.2

API not published

API changes - Tue, 6 Feb 2018

  • rename firmwareUpdateCC1111() to updateFirmwareCC1111() for alignment

API v0.9.1

API not published

API changes - Wed, 31 Jan 2018

  • add API to set NPI timeout values
  • return bond procedure status in clearBondDevice()

API v0.9.0

API not published

API changes - Mon, 22 Jan 2018

  • make RF link nuke function execute in parallel of other tasks
  • add onUnBonded(address) callback
  • add bond/unbond helpers methods
  • Do not consider setting power amps as a blocking RF task, as it is done asynchronously
  • use parallel AsyncTask to stop Specan
  • do not unpair all devices when searching new devices
  • add missing method to set retry mode over BUS config
  • add methods to set HW revision over BUS config
  • pass BLE MAC address in parameter when sending onDeviceConnecting/Ready/Disconnecting/Disconnected/LinkLoss event

API v0.8.5

API not published

API changes - Wed, 3 Jan 2018

  • mark Sub1GHzRfTransceiverSocket as deprecated
  • update to nRF toolbox v1.0.3

API v0.8.4

Go to API

API changes - Wed, 20 Dec 2017

  • fix same USB device detected several times: Do not call onPauseUSB() in app onPause() if connected in USB
  • add method to get USB device name
  • Split GollumDongle reconnect() function into reconnectUSB() and reconnectBLE()
  • consider dongle busy between start of rxDataRateMeasStart() and end of rxDataRateMeasStop()
  • consider dongle busy between start of rxSetup() and end of rxStop()
  • add task parameter to GollumDongleActivityEvent
  • SimpleGollumDongle is now deprecated
  • minor rename and clarify methods to get FW version based on commit ID
  • add API to get nRF Toolbox version

API v0.8.3

Go to API

API changes - Wed, 13 Dec 2017

  • fix dfu removed classes after ProGuard causing Nordic FW update failure
  • update compileSdkVersion to 27 and buildToolsVersion to 27.0.2

API v0.8.2

Go to API

API changes - Tue, 12 Dec 2017

  • warning fixes
  • fix dongle state not set to free after rfSetTxRxPowerAmpAction()
  • make all byte[] to String methods return upper case
  • Brute Force: add support of long symbols in SyncCodeTail pattern
  • Brute Force: use byte[] for symbols in BruteForceSession
  • RfSetupParameters: set deviation to 0 in OOK in RfSetupParameters constructor
  • add methods for Brute Force setup with logical symbols coded on more than 1 byte
  • BF: move function value/mask String to byte[] conversion in Sub1GHzRfTransceiver
  • use toString() methods when printing brute force parameters
  • return version as int instead of string for get CC111 bootloader version
  • add exception parameter to GollumCallbackGetInteger
  • GollumDongle Scanner creation: fix RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
  • add set power amp methods using RfPowerAmplifierMode
  • add method to get current power amplifiers mode
  • fix USB attach/detach receiver unregistered while not registered
  • add method to close/re-open NPI native interface

API v0.8.1

Go to API

API changes - Fri, 1 Dec 2017

  • add enum in Common for RF amplifiers values
  • add javadoc clarification

API v0.8.0

Go to API

API changes - Wed, 29 Nov 2017

  • add method to set RF power amplifiers in current context when already in background task
  • BF: make BruteForceStartParameters extends BruteForceSetupParameters
  • BF: split rfBruteForceAttackSetup()/Start() in separate RF setup + BF setup phases
  • add RF parameter wrapper class
  • BF: wrap parameters into single object for AsyncTask and Sub1GHzRfTransceiver BF methods
  • BF: add deviation in BF parameters wrapper classes
  • move BF method parameters to wrapper classes to reduce param number
  • add deviation parameter to RX/TX/DRM setup
  • add USB attach/detach broadcast receiver
  • clean methods to get USB/BL FW status
  • add utils package in javadoc
  • add getter for JavaScriptConsoleLogEvent string