Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

New Versions of ANT PC and Mac SDKs Released

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Today new versions of the ANT Mac and PC SDKs were released. They contain the API libraries, sample apps, and source code.

https://www.thisisant.com/resources/ant-macosx-library-package-with-source-code/
https://www.thisisant.com/resources/ant-windows-library-package-with-source-code/

The biggest fixes are finally releasing fixes for Mac crashes and stalls and El Capitan compatibility issues.

Full changelog is posted below.

Ask any questions here, and stay tuned for our Linux and UWP (Windows 10, including Raspberry Pi) beta releases!



## Changelog

Android ANT SDK Changelog
==========================================

<u>15 Apr 2016 - PC.3.5, Mac.3.5 (Changes since PC 3.2 and Mac 2.9.3.1 releases)</u>
-----------------------------------------
> Changes affecting all libraries
> -----------------------------------------------------
> * Change sdk version schema to "platform.major.minor"
> * Added decoding of Search Sharing Capability
> * Added set channel search priority and sharing cycles
> * Added get extended capabilities functionality
> * ANTFS Host added support to query state of last received ANTFS beacon
> * ANTFS Host added support configurable timeouts on various operations
> * [PC] Transitioned project files to vcxproj format
>
> ANT Lib [ALU.3.8.0]
> -----------------------------------------------------
> * USB added fix for usb serial failures causing ANT sticks to stop communicating with specific combination of low-level USB commands introduced in Mac OSX 10.11 El Capitan (see https://www.thisisant.com/forum/viewthread/6359 for more info)
> * [Mac] Fix critical issues with transfer serialization and synchronization that could cause unexpected crashes and deadlocked transfers
> * Updated types and fixes for x64 compatibility and Mac compilers
> * Added missing encryption event defines
> * DSIANTDevice refactored to be more useful outside of ANTFS use case. Use this class to communicate with the adapter in a higher level of abstraction similar to the .Net Managed ANTLib AntDevice.
> * ANTFS client added support for uploads from host
> * ANTFS client enabled more logging when debug logging is on
> * ANTFS Host fixed an error in blackout list allowing blacked-out devices to still connect
> * ANTFSHost exposed host side device blackout list
> * ANTFSHost fixed thread hanging during shutdown in some cases
> * ANTFSHostChannel fixed ANT framer cancel flag left in TRUE state when closing after cancelling an ANTFS operation
> * Debug added printf logging function
> * Removed extraneous include references to ANTFS config.h
> * [Mac] Fix memory leaks occurring during init failures
> * [Mac] Add some missing ANT commands that already existed in PC release
> * [Mac] Fix some ACK packets showing as burst packets on some adapters that was already fixed in PC release
> * [Mac] Fixed issue with timer thread not closing responsively in some cases already fixed in PC release
>
>
> ANT DLL [BFH.3.5.0]
> -----------------------------------------------------
> * Fix error with ANT_Init using default parameters in DLL
>
> ANT Managed Library [AMO.3.6.0]
> -----------------------------------------------------
> * ManagedLib ANTFS changed to decode friendly name as UTF8 instead of ASCII
> * Removed ANT_NET_Libraries.sln and added all .Net projects to ANT_Libraries.sln now that the free version of Visual Studio supports mixed project types.      

Signature

Dynastream Developer

Rank

Total Posts: 1

Joined 2016-03-16

PM

Fantastic. Thanks for the updates.      
RankRank

Total Posts: 43

Joined 2013-06-11

PM

Thank for the update.

ShaneG - 19 April 2016 10:54 AM
Ask any questions here, and stay tuned for our Linux and UWP (Windows 10, including Raspberry Pi) beta releases!


Since it beta releases. Can I access it with Adopter Account? Or I need an Member Account to access Member Early Release?      
RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

@hisoft
Linux and UWP libraries will be released under Adopter license in the download section, so all you need is an account and you should be good to go. The should be posted this week <fingers crossed>      

Signature

Dynastream Developer

RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

Update: Linux library now released: https://www.thisisant.com/forum/viewthread/6490/      

Signature

Dynastream Developer

Rank

Total Posts: 4

Joined 2016-01-11

PM

How to solve GUI freezing problem in Updated MAC Ant Library?      
Rank

Total Posts: 4

Joined 2016-01-11

PM

I solved my GUI freezing problem by using thread.      
Rank

Total Posts: 4

Joined 2016-01-11

PM

I created multiple channels but frame reception is not working properly after integrating latest MAC library. Occurrences of RX_FAIL is more,due to that my speed is not calculated accurately,if i opened one channel at a time then occurrences of RX_FAIL is less.
This is my Multichannel connection code,

case MESG_NETWORK_KEY_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error configuring network key: Code 0%d\n", stMessage.aucData[2]);
break;
}
printf("Network key set.\n");
printf("Assigning channel...\n");
if(ucChannelType == CHANNEL_TYPE_MASTER)
{
bStatus = pclMessageObject->AssignChannel(USER_ANTCHANNEL, PARAMETER_TX_NOT_RX, 0, MESSAGE_TIMEOUT);
// DSIThread_Sleep(.250);
tsbstatus=pclMessageObject->AssignChannel(TSUSER_ANTCHANNEL, PARAMETER_RX_ONLY, 0, TSMESSAGE_TIMEOUT);

}
else if(ucChannelType == CHANNEL_TYPE_SLAVE)
{
bStatus = pclMessageObject->AssignChannel(USER_ANTCHANNEL, 0, 0, MESSAGE_TIMEOUT);

tsbstatus = pclMessageObject->AssignChannel(TSUSER_ANTCHANNEL, 0, 0, TSMESSAGE_TIMEOUT);
}
break;
}
case MESG_ASSIGN_CHANNEL_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error assigning channel: Code 0%d\n", stMessage.aucData[2]);
break;
}
printf("Channel assigned\n");
printf("Setting Channel ID...\n");

bStatus = pclMessageObject->SetChannelID(USER_ANTCHANNEL, USER_DEVICENUM, USER_DEVICETYPE, USER_TRANSTYPE, MESSAGE_TIMEOUT);
tsbstatus= pclMessageObject->SetChannelID(TSUSER_ANTCHANNEL, TSUSER_DEVICENUM, TSUSER_DEVICETYPE, TSUSER_TRANSTYPE,
TSMESSAGE_TIMEOUT);
break;
}
case MESG_CHANNEL_ID_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error configuring Channel ID: Code 0%d\n", stMessage.aucData[2]);
break;
}
printf("Channel ID set\n");
printf("Setting Radio Frequency...\n");
bStatus = pclMessageObject->SetChannelRFFrequency(USER_ANTCHANNEL, USER_RADIOFREQ, MESSAGE_TIMEOUT);
// DSIThread_Sleep(100);
tsbstatus = pclMessageObject->SetChannelRFFrequency(TSUSER_ANTCHANNEL, TSUSER_RADIOFREQ, TSMESSAGE_TIMEOUT);
break;
}
case MESG_CHANNEL_MESG_PERIOD_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error configuring Radio Frequency: Code 0%d\n", stMessage.aucData[2]);
break;
}
printf("Radio Frequency set\n");
printf("Setting message period...\n");
bStatus=pclMessageObject->SetChannelPeriod(USER_ANTCHANNEL, USER_MESGPERIOD,MESSAGE_TIMEOUT);
// DSIThread_Sleep(100);
tsbstatus=pclMessageObject->SetChannelPeriod(TSUSER_ANTCHANNEL, TS_MESSAGEPERIOD,TSMESSAGE_TIMEOUT);
break;
}
case MESG_CHANNEL_RADIO_FREQ_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error configuring Channel Period: Code 0%d\n", stMessage.aucData[2]);
break;
}
printf("message period set\n");
printf("Opening channel...\n");
bBroadcasting = TRUE;
bStatus = pclMessageObject->OpenChannel(USER_ANTCHANNEL, MESSAGE_TIMEOUT);
// DSIThread_Sleep(100);
tsbstatus= pclMessageObject->OpenChannel(TSUSER_ANTCHANNEL, TSMESSAGE_TIMEOUT);


break;
}
case MESG_OPEN_CHANNEL_ID:
{
if(stMessage.aucData[2] != RESPONSE_NO_ERROR)
{
printf("Error opening channel: Code 0%d\n", stMessage.aucData[2]);
bBroadcasting = FALSE;
break;
}
printf("Chanel opened\n");
#if defined (ENABLE_EXTENDED_MESSAGES)
printf("Enabling extended messages...\n");
pclMessageObject->RxExtMesgsEnable(TRUE);
#endif
break;
}

and I received both channels frame from same buffer.
How to reduce RX_FAIL?      
RankRankRankRank

Total Posts: 313

Joined 2011-09-12

PM

I don't understand your use case but RX_FAIL means the ANT layer itself is not receiving message on that channel in its given timeslot. This is dependent on the wireless environment, how close the devices are to the receiver, signal strength, and how many devices nearby are using the same frequency.      

Signature

Dynastream Developer