Skip to content

Commit

Permalink
Release Android ANT+ SDK v.P.B3 **Release Candidate 1**
Browse files Browse the repository at this point in the history
  • Loading branch information
ANT-Shane committed Jan 9, 2015
1 parent f895432 commit 8d37ffc
Show file tree
Hide file tree
Showing 15 changed files with 108 additions and 18 deletions.
Binary file removed ANT+_Android_SDK/API/AntPluginLib_Javadoc_3-1-0.zip
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions ANT+_Android_SDK/API/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Android ANT+ API
This PluginLib library file, when included in your application, enables you to connect to and communicate with ANT+ devices through a high level API. It abstracts most of the heavy lifting of managing connections and decoding data. For use cases that are not addressed by existing ANT+ device profiles, developers must use the AntLib included in the ANT Android SDK to communicate directly with the ANT protocol and create and connect to custom ANT networks instead.

Note: To view the Javadoc information online, visit http://www.thisisant.com/developer/resources/api-documentation/

<i>Note about member-only features: As a benefit of ANT+ Membership, members get exclusive access to new profiles and features for a given time period. For more information see http://www.thisisant.com/business/go-ant/levels-and-benefits/. Once your ANT+ Membership is activated, the ANT+ Member-only version of the library can be obtained from http://www.thisisant.com/developer/resources/downloads/ in the member-only release section. </i>

## Contents
Expand Down
Binary file not shown.
Binary file not shown.
49 changes: 42 additions & 7 deletions ANT+_Android_SDK/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Android ANT+ SDK v.P.B2 - 8 Aug 2014
# Android ANT+ SDK v.P.B3 **Release Candidate 1** - 9 Jan 2014
This software development kit provides the resources needed to develop an Android application which uses the defined ANT+ profiles to communicate wirelessly with the millions of existing ANT+ devices. It includes instructions, API and documentation, and reference sample applications. The PDF _Creating ANT+ Android Applications_ explains how to get started.

If you are trying to develop an application to use ANT wireless technology freely outside of the defined ANT+ profiles, you must use the ANT Android SDK instead.
Expand All @@ -12,10 +12,12 @@ This SDK is available from:


## Quick Start Guide
<i> Note: Refer to the "Creating ANT+ Android Applications" (.pdf) file for more detailed info </i>

1. Ensure ANT Radio Service (ARS) is installed on device
2. Ensure ANT Plugins Service is installed on device
2. Reference ANT+ PluginLib library in your application project
3. Refer to PluginSampler to see how to:
3. Refer to the PluginSampler sample application to see how to:
1. Search for ANT+ devices using MultiDeviceSearch
2. Request access to device
3. Subscribe to events
Expand All @@ -24,20 +26,53 @@ This SDK is available from:


## Contents
<i> Note: Each top-level folder has a readme file which contains descriptions of the applications and tools and their intended purpose </i>

* Creating ANT+ Android Applications
* API
* PluginLib 3.1.0 (.jar and Javadoc)
* FIT 12.00 (.jar)
* PluginLib 3.3.0 **Release Candidate 1** (.jar and Javadoc)
* FIT 13.10 (.jar)
* Services
* ANT+ Plugins Service 3.1.0 (.apk)
* ANT+ Plugins Service 3.3.0 **Release Candidate 1** (.apk)
* Plugin Manager Launcher 1.1.0 (.apk)
* Sample Applications
* Plugin Sampler 3.1.0(.apk and source)
* Plugin Sampler 3.2.0 **Release Candidate 1** (.apk and source)
* ANT+ Demo 3.1.0 (.apk)
* Heart Rate Grapher 3.0.0 (.apk)


## Changelog
Android ANT+ SDK Changelog
=============================================

<u>v.P.B3 **Release Candidate 1** - 9 Jan 2014</u>
--------------------------------------------------
> Ant+ Plugins Service and ANT+ PluginLib Changelog - v.3.3.0 **Release Candidate 1**
> -----------------------------------------------------------------------------------
> * Update to AntLib 4.9.0.RC3 library (w/ Android 5.0 Lollipop intent fix) [Lib + Service]
> * Moved the MultiSearch class to the PCC package for clear discoverability (Note: This means you will need to correct your imports) [Lib]
> * Support for providing ANT+ sensor data to the Google FIT sensor framework. ANT+ sensors will now show up in the Google Fit API available sensor list [Service]
> * Add an RSSI event to most devices [Lib + Service]
> * Add support for video remote control picture commands [Lib + Service]
> * Add a callback to determine when MultiSearch has started and if RSSI support is available [Lib + Service]
> * Add support to watch downloader for Health and Life Watch [Service]
> * Add ability to connect to establish remote controls for more than one device [Service]
> * Update to FIT 13.10 library [Lib]
> * Fix a bug causing connecting to devices to timeout sometimes [Service]
> * Fix several instances of releasing a PCC during the acquistion phase that could cause resource leaks and 'message to handler on a dead thread' logs [Lib + Service]
> * Fix an error where manufacturer specific data events can falsely trigger the request finished event [Lib]
> * Fix an error that could cause some commands to never receive a response in rare cases [Lib]
> * Fix missing progress updates on large ANTFS downloads using small block sizes [Service]
> * Fix missing requestAccess results when calling requestAccess several times in quick succession [Service]
> * Fix some errors with requesting bike speed or cadence accesses in quick succession returning non-functioning PCCs [Service]
> * Fix an error causing bike speed and cadence async scan closing to produce more than one result message [Service]
> * Fix some crashes and errors when trying to connect to a controllable device with more than one type [Service]
> * Fix controllable device dying in connection phase sometimes on Sony Ray phones [Service]
> * Fix some errors with remote control plugin preventing connecting to remotes with multiple types supported [Service]
> * Fix an error causing non-shareable already connected devices to show in the MultiDeviceSearch results [Service]
> * Fix crashing when external sources send null intents to public service endpoints [Service]
> * Fix missing return ALREADY_SUBSCRIBED when trying to connect to a device already connected to a given app when requesting access to specific device number [Service]
> * Cleaned up some logging and javadoc [Lib + Service]

<u>v.P.B2 - 8 Aug 2014</u>
---------------------------------------------
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ All rights reserved.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dsi.ant.antplus.pluginsampler"
android:versionCode="030100"
android:versionName="3.1.0" >
android:versionCode="030200"
android:versionName="3.2.0.RC1" >

<uses-sdk
android:minSdkVersion="7"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,29 @@ All rights reserved.

</RelativeLayout>

<RelativeLayout
android:id="@+id/viewGroup_rssi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#EBEBEB"
android:paddingBottom="3dp"
android:paddingTop="3dp">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Rssi:" />

<TextView
android:id="@+id/textView_Rssi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="---" />

</RelativeLayout>

</LinearLayout>


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

Expand All @@ -31,6 +33,7 @@
import com.dsi.ant.plugins.antplus.pcc.defines.DeviceState;
import com.dsi.ant.plugins.antplus.pcc.defines.EventFlag;
import com.dsi.ant.plugins.antplus.pcc.defines.RequestAccessResult;
import com.dsi.ant.plugins.antplus.pccbase.AntPlusCommonPcc.IRssiReceiver;
import com.dsi.ant.plugins.antplus.pccbase.PccReleaseHandle;
import com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc.IDeviceStateChangeReceiver;
import com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc.IPluginAccessResultReceiver;
Expand All @@ -55,6 +58,8 @@ public abstract class Activity_HeartRateDisplayBase extends Activity

TextView tv_estTimestamp;

TextView tv_rssi;

TextView tv_computedHeartRate;
TextView tv_heartBeatCounter;
TextView tv_heartBeatEventTime;
Expand Down Expand Up @@ -106,6 +111,8 @@ protected void showDataDisplay(String status)

tv_estTimestamp = (TextView)findViewById(R.id.textView_EstTimestamp);

tv_rssi = (TextView)findViewById(R.id.textView_Rssi);

tv_computedHeartRate = (TextView)findViewById(R.id.textView_ComputedHeartRate);
tv_heartBeatCounter = (TextView)findViewById(R.id.textView_HeartBeatCounter);
tv_heartBeatEventTime = (TextView)findViewById(R.id.textView_HeartBeatEventTime);
Expand All @@ -132,6 +139,8 @@ protected void showDataDisplay(String status)

tv_estTimestamp.setText("---");

tv_rssi.setText("---");

tv_computedHeartRate.setText("---");
tv_heartBeatCounter.setText("---");
tv_heartBeatEventTime.setText("---");
Expand Down Expand Up @@ -296,6 +305,19 @@ public void run()
});
}
});

hrPcc.subscribeRssiEvent(new IRssiReceiver() {
@Override
public void onRssiData(final long estTimestamp, final EnumSet<EventFlag> evtFlags, final int rssi) {
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_estTimestamp.setText(String.valueOf(estTimestamp));
tv_rssi.setText(String.valueOf(rssi) + " dBm");
}
});
}
});
}

protected IPluginAccessResultReceiver<AntPlusHeartRatePcc> base_IPluginAccessResultReceiver =
Expand All @@ -313,6 +335,7 @@ public void onResultReceived(AntPlusHeartRatePcc result, RequestAccessResult res
hrPcc = result;
tv_status.setText(result.getDeviceName() + ": " + initialDeviceState);
subscribeToHrEvents();
if(!result.supportsRssi()) tv_rssi.setText("N/A");
break;
case CHANNEL_NOT_AVAILABLE:
Toast.makeText(Activity_HeartRateDisplayBase.this, "Channel Not Available", Toast.LENGTH_SHORT).show();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,8 @@
import java.util.EnumSet;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
Expand All @@ -37,10 +33,10 @@
import com.dsi.ant.antplus.pluginsampler.fitnessequipment.Activity_FitnessEquipmentSampler;
import com.dsi.ant.antplus.pluginsampler.heartrate.Activity_SearchUiHeartRateSampler;
import com.dsi.ant.antplus.pluginsampler.weightscale.Activity_WeightScaleSampler;
import com.dsi.ant.plugins.antplus.pcc.AntPlusHeartRatePcc;
import com.dsi.ant.plugins.antplus.pcc.MultiDeviceSearch;
import com.dsi.ant.plugins.antplus.pcc.MultiDeviceSearch.RssiSupport;
import com.dsi.ant.plugins.antplus.pcc.defines.DeviceType;
import com.dsi.ant.plugins.antplus.pcc.defines.RequestAccessResult;
import com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch;
import com.dsi.ant.plugins.antplus.pccbase.MultiDeviceSearch.MultiDeviceSearchResult;

/**
Expand Down Expand Up @@ -249,6 +245,17 @@ public void onSearchStopped(RequestAccessResult reason)
setResult(RESULT_SEARCH_STOPPED, result);
finish();
}

@Override
public void onSearchStarted(RssiSupport supportsRssi) {
if(supportsRssi == RssiSupport.UNAVAILABLE)
{
Toast.makeText(mContext, "Rssi information not available.", Toast.LENGTH_SHORT).show();
} else if(supportsRssi == RssiSupport.UNKNOWN_OLDSERVICE)
{
Toast.makeText(mContext, "Rssi might be supported. Please upgrade the plugin service.", Toast.LENGTH_SHORT).show();
}
}
};

/**
Expand Down
Binary file not shown.
Binary file not shown.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ANT and ANT+ Android SDKs Beta Release

*Disclaimer: This SDK version is a BETA release and is for testing and development purposes. The contents are subject to change before the official release. Because of this, there are no promises of future compatibility or support for any changes made in this SDK since the last official release. If you are looking for an offical release, please check out the last official release under tag 'release/C.B3-P.B2'.*
*Disclaimer: This SDK version is a BETA release and is for testing and development purposes. The contents are subject to change before the official release. Because of this, there are no promises of future compatibility or support for any changes made in this SDK since the last official release. If you are looking for an official release, please check out the last official release under tag 'release/C.B3-P.B2'.*

The Android ANT and Android ANT+ SDKs enable developers to create unique applications that use ANT wireless communication technology to communicate between a wide array of devices over various network configurations. ANT is a proven ultra-low power wireless sensor network protocol operating in the 2.4 GHz ISM band and is an effective solution for personal and local area networks. ANT is available on many Android devices including most modern flagship phones from Samsung and Sony. Additionally, ANT can be used on other devices with USB-Host support through the use of an ANT USB stick.

Expand All @@ -16,8 +16,8 @@ This SDK is available from:
* https://github.com/ant-wireless/ANT-Android-SDKs (subscribe as a watcher to be notified of updates)

# Current Versions:
* Android ANT SDK v.C.B4 **Release Candidate 1** - 11 Nov 2014
* Android ANT+ SDK v.P.B2 - 8 Aug 2014
* Android ANT SDK v.C.B4 **Release Candidate 3** - 12 Dec 2014
* Android ANT+ SDK v.P.B3 **Release Candidate 1** - 9 Jan 2014
* <i>Android ANT+ SDK v.P.B2.MO1 - 8 Aug 2014 - Members-only release with trainer profile support, only availble to ANT+ Members from http://www.thisisant.com/developer/resources/downloads/</i>

# Changelog
Expand Down

0 comments on commit 8d37ffc

Please sign in to comment.