001/** 002 * Copyright (c) 2014 Digi International Inc., 003 * All rights not expressly granted are reserved. 004 * 005 * This Source Code Form is subject to the terms of the Mozilla Public 006 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 007 * You can obtain one at http://mozilla.org/MPL/2.0/. 008 * 009 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 010 * ======================================================================= 011 */ 012package com.digi.xbee.api.models; 013 014/** 015 * This class lists all the possible options that can be set while 016 * transmitting an XBee data packet. 017 * 018 * <p>The transmit options are usually set as a bitfield meaning that the 019 * options can be combined using the '|' operand.</p> 020 */ 021public class XBeeTransmitOptions { 022 023 /** 024 * No special transmit options (value: {@value}). 025 */ 026 public static final int NONE = 0x00; 027 028 /** 029 * Disables acknowledgments on all unicasts (value: {@value}). 030 * 031 * <p>Only valid for DigiMesh, 802.15.4 and Point-to-multipoint 032 * protocols.</p> 033 */ 034 public static final int DISABLE_ACK = 0x01; 035 036 /** 037 * Disables the retries and router repair in the frame (value: {@value}). 038 * 039 * <p>Only valid for ZigBee protocol.</p> 040 */ 041 public static final int DISABLE_RETRIES_AND_REPAIR = 0x01; 042 043 /** 044 * Doesn't attempt Route Discovery (value: {@value}). 045 * 046 * <p>Disables Route Discovery on all DigiMesh unicasts.</p> 047 * 048 * <p>Only valid for DigiMesh protocol.</p> 049 */ 050 public static final int DONT_ATTEMPT_RD = 0x02; 051 052 /** 053 * Sends packet with broadcast {@code PAN ID}. Packet will be sent to all 054 * devices in the same channel ignoring the {@code PAN ID} 055 * (value: {@value}). 056 * 057 * <p>It cannot be combined with other options.</p> 058 * 059 * <p>Only valid for 802.15.4 XBee protocol.</p> 060 */ 061 public static final int USE_BROADCAST_PAN_ID = 0x04; 062 063 /** 064 * Enables unicast NACK messages (value: {@value}). 065 * 066 * <p>NACK message is enabled on the packet.</p> 067 * 068 * <p>Only valid for DigiMesh 868/900 protocol.</p> 069 */ 070 public static final int ENABLE_UNICAST_NACK = 0x04; 071 072 /** 073 * Enables unicast trace route messages (value: {@value}). 074 * 075 * <p>Trace route is enabled on the packets.</p> 076 * 077 * <p>Only valid for DigiMesh 868/900 protocol.</p> 078 */ 079 public static final int ENABLE_UNICAST_TRACE_ROUTE = 0x04; 080 081 /** 082 * Enables APS encryption, only if {@code EE=1} (value: {@value}). 083 * 084 * <p>Enabling APS encryption decreases the maximum number of RF payload 085 * bytes by 4 (below the value reported by {@code NP}).</p> 086 * 087 * <p>Only valid for ZigBee XBee protocol.</p> 088 */ 089 public static final int ENABLE_APS_ENCRYPTION = 0x20; 090 091 /** 092 * Uses the extended transmission timeout (value: {@value}). 093 * 094 * <p>Setting the extended timeout bit causes the stack to set the 095 * extended transmission timeout for the destination address.</p> 096 * 097 * <p>Only valid for ZigBee XBee protocol.</p> 098 */ 099 public static final int USE_EXTENDED_TIMEOUT = 0x40; 100 101 /** 102 * Transmission is performed using point-to-Multipoint mode 103 * (value: {@value}). 104 * 105 * <p>Only valid for DigiMesh 868/900 and Point-to-Multipoint 868/900 106 * protocols.</p> 107 */ 108 public static final int POINT_MULTIPOINT_MODE = 0x40; 109 110 /** 111 * Transmission is performed using repeater mode (value: {@value}). 112 * 113 * <p>Only valid for DigiMesh 868/900 and Point-to-Multipoint 868/900 114 * protocols.</p> 115 */ 116 public static final int REPEATER_MODE = 0x80; 117 118 /** 119 * Transmission is performed using DigiMesh mode (value: {@value}). 120 * 121 * <p>Only valid for DigiMesh 868/900 and Point-to-Multipoint 868/900 122 * protocols.</p> 123 */ 124 public static final int DIGIMESH_MODE = 0xC0; 125}