|
45 | 45 | */ |
46 | 46 | #define AS923_CARRIER_SENSE_TIME 5 |
47 | 47 |
|
| 48 | +/*! |
| 49 | + * Specifies the reception bandwidth to be used while executing the LBT |
| 50 | + * Max channel bandwidth is 200 kHz |
| 51 | + */ |
| 52 | +#define AS923_LBT_RX_BANDWIDTH 200000 |
| 53 | + |
48 | 54 | #ifndef REGION_AS923_DEFAULT_CHANNEL_PLAN |
49 | 55 | #define REGION_AS923_DEFAULT_CHANNEL_PLAN CHANNEL_PLAN_GROUP_AS923_1 |
50 | 56 | #endif |
|
64 | 70 | // -1.8MHz |
65 | 71 | #define REGION_AS923_FREQ_OFFSET ( ( ~( 0xFFFFB9B0 ) + 1 ) * 100 ) |
66 | 72 |
|
67 | | -#define AS923_MIN_RF_FREQUENCY 915000000 |
68 | | -#define AS923_MAX_RF_FREQUENCY 928000000 |
| 73 | +#define AS923_MIN_RF_FREQUENCY 920000000 |
| 74 | +#define AS923_MAX_RF_FREQUENCY 923000000 |
69 | 75 |
|
70 | 76 | #elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_3 ) |
71 | 77 |
|
|
74 | 80 | #define REGION_AS923_FREQ_OFFSET ( ( ~( 0xFFFEFE30 ) + 1 ) * 100 ) |
75 | 81 |
|
76 | 82 | #define AS923_MIN_RF_FREQUENCY 915000000 |
77 | | -#define AS923_MAX_RF_FREQUENCY 928000000 |
| 83 | +#define AS923_MAX_RF_FREQUENCY 921000000 |
78 | 84 |
|
79 | 85 | #elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_4 ) |
80 | 86 |
|
|
85 | 91 | #define AS923_MIN_RF_FREQUENCY 917000000 |
86 | 92 | #define AS923_MAX_RF_FREQUENCY 920000000 |
87 | 93 |
|
88 | | -#elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP ) |
| 94 | +#elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_LBT ) |
89 | 95 |
|
90 | | -// Channel plan CHANNEL_PLAN_GROUP_AS923_1_JP |
| 96 | +// Channel plan CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_LBT |
91 | 97 |
|
92 | 98 | #define REGION_AS923_FREQ_OFFSET 0 |
93 | 99 |
|
|
98 | 104 | #define AS923_MIN_RF_FREQUENCY 920600000 |
99 | 105 | #define AS923_MAX_RF_FREQUENCY 923400000 |
100 | 106 |
|
| 107 | +#undef AS923_TX_MAX_DATARATE |
| 108 | +#define AS923_TX_MAX_DATARATE DR_5 |
| 109 | + |
| 110 | +#undef AS923_RX_MAX_DATARATE |
| 111 | +#define AS923_RX_MAX_DATARATE DR_5 |
| 112 | + |
| 113 | +#undef AS923_DEFAULT_MAX_EIRP |
| 114 | +#define AS923_DEFAULT_MAX_EIRP 13.0f |
| 115 | + |
101 | 116 | /*! |
102 | | - * Specifies the reception bandwidth to be used while executing the LBT |
103 | | - * Max channel bandwidth is 200 kHz |
| 117 | + * STD-T108 Ver1.4 does not require dwell-time enforcement when using LBT on channels 28 to 38 |
104 | 118 | */ |
105 | | -#define AS923_LBT_RX_BANDWIDTH 200000 |
| 119 | +#undef AS923_DEFAULT_UPLINK_DWELL_TIME |
| 120 | +#define AS923_DEFAULT_UPLINK_DWELL_TIME 0 |
| 121 | + |
| 122 | +#elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_DC ) |
| 123 | + |
| 124 | +/* |
| 125 | + * STD-T108 Ver1.4 allows the use of channels 24 to 38 without LBT. |
| 126 | + * However a duty cycle enforcement must be in place |
| 127 | + */ |
| 128 | + |
| 129 | +// Channel plan CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_DC |
| 130 | + |
| 131 | +#define REGION_AS923_FREQ_OFFSET 0 |
| 132 | + |
| 133 | +/*! |
| 134 | + * Restrict AS923 frequencies to channels 24 to 38 |
| 135 | + * Center frequencies 920.6 MHz to 923.4 MHz @ 200 kHz max bandwidth |
| 136 | + */ |
| 137 | +#define AS923_MIN_RF_FREQUENCY 920600000 |
| 138 | +#define AS923_MAX_RF_FREQUENCY 923400000 |
| 139 | + |
| 140 | +#undef AS923_TX_MAX_DATARATE |
| 141 | +#define AS923_TX_MAX_DATARATE DR_5 |
| 142 | + |
| 143 | +#undef AS923_RX_MAX_DATARATE |
| 144 | +#define AS923_RX_MAX_DATARATE DR_5 |
| 145 | + |
| 146 | +#undef AS923_DEFAULT_MAX_EIRP |
| 147 | +#define AS923_DEFAULT_MAX_EIRP 13.0f |
| 148 | + |
| 149 | +/*! |
| 150 | + * STD-T108 Ver1.4 does not require dwell-time enforcement when using DC on channels 28 to 38 |
| 151 | + */ |
| 152 | +#undef AS923_DEFAULT_UPLINK_DWELL_TIME |
| 153 | +#define AS923_DEFAULT_UPLINK_DWELL_TIME 0 |
| 154 | + |
| 155 | +/*! |
| 156 | + * Enable duty cycle enforcement |
| 157 | + */ |
| 158 | +#undef AS923_DUTY_CYCLE_ENABLED |
| 159 | +#define AS923_DUTY_CYCLE_ENABLED 1 |
| 160 | + |
| 161 | +#elif ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH37_CH61_LBT_DC ) |
| 162 | + |
| 163 | +/* |
| 164 | + * STD-T108 Ver1.4 allows the use of channels 37 to 61 with LBT and DC. |
| 165 | + * However dwell time enforcement must be enabled |
| 166 | + */ |
| 167 | + |
| 168 | +// Channel plan CHANNEL_PLAN_GROUP_AS923_1_JP_CH37_CH61_LBT_DC |
| 169 | + |
| 170 | +#define REGION_AS923_FREQ_OFFSET 0 |
| 171 | + |
| 172 | +/*! |
| 173 | + * Restrict AS923 frequencies to channels 37 to 61 |
| 174 | + * Center frequencies 922.4 MHz to 928.0 MHz @ 200 kHz max bandwidth |
| 175 | + */ |
| 176 | +#define AS923_MIN_RF_FREQUENCY 922400000 |
| 177 | +#define AS923_MAX_RF_FREQUENCY 928000000 |
106 | 178 |
|
107 | 179 | #undef AS923_TX_MAX_DATARATE |
108 | 180 | #define AS923_TX_MAX_DATARATE DR_5 |
|
113 | 185 | #undef AS923_DEFAULT_MAX_EIRP |
114 | 186 | #define AS923_DEFAULT_MAX_EIRP 13.0f |
115 | 187 |
|
| 188 | +/*! |
| 189 | + * Enable duty cycle enforcement |
| 190 | + */ |
| 191 | +#undef AS923_DUTY_CYCLE_ENABLED |
| 192 | +#define AS923_DUTY_CYCLE_ENABLED 1 |
| 193 | + |
| 194 | +/*! |
| 195 | + * STD-T108 Ver1.4 requires a carrier sense time of at least 128 us on channels 37 to 61 |
| 196 | + */ |
| 197 | +#undef AS923_CARRIER_SENSE_TIME |
| 198 | +#define AS923_CARRIER_SENSE_TIME 1 |
| 199 | + |
| 200 | +#else |
| 201 | +#error "Wrong default channel plan selected. Please review compiler options." |
116 | 202 | #endif |
117 | 203 |
|
118 | 204 | /* |
@@ -415,7 +501,8 @@ void RegionAS923InitDefaults( InitDefaultsParams_t* params ) |
415 | 501 | // Update the channels mask |
416 | 502 | RegionCommonChanMaskCopy( RegionNvmGroup2->ChannelsMask, RegionNvmGroup2->ChannelsDefaultMask, CHANNELS_MASK_SIZE ); |
417 | 503 |
|
418 | | -#if ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP ) |
| 504 | +#if ( ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_LBT ) || \ |
| 505 | + ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH37_CH61_LBT_DC ) ) |
419 | 506 | RegionNvmGroup2->RssiFreeThreshold = AS923_RSSI_FREE_TH; |
420 | 507 | RegionNvmGroup2->CarrierSenseTime = AS923_CARRIER_SENSE_TIME; |
421 | 508 | #endif |
@@ -937,7 +1024,8 @@ LoRaMacStatus_t RegionAS923NextChannel( NextChanParams_t* nextChanParams, uint8_ |
937 | 1024 |
|
938 | 1025 | if( status == LORAMAC_STATUS_OK ) |
939 | 1026 | { |
940 | | -#if ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP ) |
| 1027 | +#if ( ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH24_CH38_LBT ) || \ |
| 1028 | + ( REGION_AS923_DEFAULT_CHANNEL_PLAN == CHANNEL_PLAN_GROUP_AS923_1_JP_CH37_CH61_LBT_DC ) ) |
941 | 1029 | // Executes the LBT algorithm when operating in Japan |
942 | 1030 | uint8_t channelNext = 0; |
943 | 1031 |
|
|
0 commit comments