Color Oled(SSD1331) connect to STMicroelectronics Nucleo-F466

Dependencies:   ssd1331

Committer:
kadonotakashi
Date:
Thu Oct 11 02:27:46 2018 +0000
Revision:
3:f3764f852aa8
Parent:
0:8fdf9a60065b
Nucreo 446 + SSD1331 test version;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kadonotakashi 0:8fdf9a60065b 1 /*
kadonotakashi 0:8fdf9a60065b 2 * Copyright (c) , Arm Limited and affiliates.
kadonotakashi 0:8fdf9a60065b 3 * SPDX-License-Identifier: Apache-2.0
kadonotakashi 0:8fdf9a60065b 4 *
kadonotakashi 0:8fdf9a60065b 5 * Licensed under the Apache License, Version 2.0 (the "License");
kadonotakashi 0:8fdf9a60065b 6 * you may not use this file except in compliance with the License.
kadonotakashi 0:8fdf9a60065b 7 * You may obtain a copy of the License at
kadonotakashi 0:8fdf9a60065b 8 *
kadonotakashi 0:8fdf9a60065b 9 * http://www.apache.org/licenses/LICENSE-2.0
kadonotakashi 0:8fdf9a60065b 10 *
kadonotakashi 0:8fdf9a60065b 11 * Unless required by applicable law or agreed to in writing, software
kadonotakashi 0:8fdf9a60065b 12 * distributed under the License is distributed on an "AS IS" BASIS,
kadonotakashi 0:8fdf9a60065b 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kadonotakashi 0:8fdf9a60065b 14 * See the License for the specific language governing permissions and
kadonotakashi 0:8fdf9a60065b 15 * limitations under the License.
kadonotakashi 0:8fdf9a60065b 16 */
kadonotakashi 0:8fdf9a60065b 17
kadonotakashi 0:8fdf9a60065b 18
kadonotakashi 0:8fdf9a60065b 19 #include <stdbool.h>
kadonotakashi 0:8fdf9a60065b 20 #include <stdlib.h>
kadonotakashi 0:8fdf9a60065b 21 #include <string.h>
kadonotakashi 0:8fdf9a60065b 22 #include <stdint.h>
kadonotakashi 0:8fdf9a60065b 23
kadonotakashi 0:8fdf9a60065b 24 #include "LoRaPHY.h"
kadonotakashi 0:8fdf9a60065b 25 #include "LoRaPHY_stub.h"
kadonotakashi 0:8fdf9a60065b 26
kadonotakashi 0:8fdf9a60065b 27 LoRaRadio *LoRaPHY_stub::radio = NULL;
kadonotakashi 0:8fdf9a60065b 28 uint32_t LoRaPHY_stub::uint32_value = 0;
kadonotakashi 0:8fdf9a60065b 29 uint16_t LoRaPHY_stub::uint16_value = 0;
kadonotakashi 0:8fdf9a60065b 30 uint8_t LoRaPHY_stub::uint8_value = 0;
kadonotakashi 0:8fdf9a60065b 31 int8_t LoRaPHY_stub::int8_value = 0;
kadonotakashi 0:8fdf9a60065b 32 int LoRaPHY_stub::int_value = 0;
kadonotakashi 0:8fdf9a60065b 33 double LoRaPHY_stub::double_value = 0;
kadonotakashi 0:8fdf9a60065b 34 lorawan_status_t LoRaPHY_stub::lorawan_status_value = LORAWAN_STATUS_OK;
kadonotakashi 0:8fdf9a60065b 35 channel_params_t *LoRaPHY_stub::channel_params_ptr = NULL;
kadonotakashi 0:8fdf9a60065b 36 uint8_t LoRaPHY_stub::bool_counter = 0;
kadonotakashi 0:8fdf9a60065b 37 bool LoRaPHY_stub::bool_table[20] = {};
kadonotakashi 0:8fdf9a60065b 38 uint8_t LoRaPHY_stub::linkAdrNbBytesParsed = 0;
kadonotakashi 0:8fdf9a60065b 39 uint8_t LoRaPHY_stub::ch_mask_value = 0;
kadonotakashi 0:8fdf9a60065b 40 uint8_t LoRaPHY_stub::adr_parse_count = 0;
kadonotakashi 0:8fdf9a60065b 41
kadonotakashi 0:8fdf9a60065b 42 LoRaPHY::LoRaPHY()
kadonotakashi 0:8fdf9a60065b 43 : _radio(LoRaPHY_stub::radio)
kadonotakashi 0:8fdf9a60065b 44 {
kadonotakashi 0:8fdf9a60065b 45 }
kadonotakashi 0:8fdf9a60065b 46
kadonotakashi 0:8fdf9a60065b 47 LoRaPHY::~LoRaPHY()
kadonotakashi 0:8fdf9a60065b 48 {
kadonotakashi 0:8fdf9a60065b 49 }
kadonotakashi 0:8fdf9a60065b 50
kadonotakashi 0:8fdf9a60065b 51 void LoRaPHY::initialize(LoRaWANTimeHandler *lora_time)
kadonotakashi 0:8fdf9a60065b 52 {
kadonotakashi 0:8fdf9a60065b 53 }
kadonotakashi 0:8fdf9a60065b 54
kadonotakashi 0:8fdf9a60065b 55 bool LoRaPHY::mask_bit_test(const uint16_t *mask, unsigned bit)
kadonotakashi 0:8fdf9a60065b 56 {
kadonotakashi 0:8fdf9a60065b 57 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 58 }
kadonotakashi 0:8fdf9a60065b 59
kadonotakashi 0:8fdf9a60065b 60 void LoRaPHY::mask_bit_set(uint16_t *mask, unsigned bit)
kadonotakashi 0:8fdf9a60065b 61 {
kadonotakashi 0:8fdf9a60065b 62 }
kadonotakashi 0:8fdf9a60065b 63
kadonotakashi 0:8fdf9a60065b 64 void LoRaPHY::mask_bit_clear(uint16_t *mask, unsigned bit)
kadonotakashi 0:8fdf9a60065b 65 {
kadonotakashi 0:8fdf9a60065b 66 }
kadonotakashi 0:8fdf9a60065b 67
kadonotakashi 0:8fdf9a60065b 68 void LoRaPHY::set_radio_instance(LoRaRadio &radio)
kadonotakashi 0:8fdf9a60065b 69 {
kadonotakashi 0:8fdf9a60065b 70 }
kadonotakashi 0:8fdf9a60065b 71
kadonotakashi 0:8fdf9a60065b 72 void LoRaPHY::put_radio_to_sleep()
kadonotakashi 0:8fdf9a60065b 73 {
kadonotakashi 0:8fdf9a60065b 74 }
kadonotakashi 0:8fdf9a60065b 75
kadonotakashi 0:8fdf9a60065b 76 void LoRaPHY::put_radio_to_standby()
kadonotakashi 0:8fdf9a60065b 77 {
kadonotakashi 0:8fdf9a60065b 78 }
kadonotakashi 0:8fdf9a60065b 79
kadonotakashi 0:8fdf9a60065b 80 void LoRaPHY::setup_public_network_mode(bool set)
kadonotakashi 0:8fdf9a60065b 81 {
kadonotakashi 0:8fdf9a60065b 82 }
kadonotakashi 0:8fdf9a60065b 83
kadonotakashi 0:8fdf9a60065b 84 void LoRaPHY::handle_receive(void)
kadonotakashi 0:8fdf9a60065b 85 {
kadonotakashi 0:8fdf9a60065b 86 }
kadonotakashi 0:8fdf9a60065b 87
kadonotakashi 0:8fdf9a60065b 88 uint32_t LoRaPHY::get_radio_rng()
kadonotakashi 0:8fdf9a60065b 89 {
kadonotakashi 0:8fdf9a60065b 90 return LoRaPHY_stub::uint32_value;
kadonotakashi 0:8fdf9a60065b 91 }
kadonotakashi 0:8fdf9a60065b 92
kadonotakashi 0:8fdf9a60065b 93 void LoRaPHY::handle_send(uint8_t *buf, uint8_t size)
kadonotakashi 0:8fdf9a60065b 94 {
kadonotakashi 0:8fdf9a60065b 95 }
kadonotakashi 0:8fdf9a60065b 96
kadonotakashi 0:8fdf9a60065b 97 uint8_t LoRaPHY::request_new_channel(int8_t channel_id, channel_params_t *new_channel)
kadonotakashi 0:8fdf9a60065b 98 {
kadonotakashi 0:8fdf9a60065b 99 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 100 }
kadonotakashi 0:8fdf9a60065b 101
kadonotakashi 0:8fdf9a60065b 102 int32_t LoRaPHY::get_random(int32_t min, int32_t max)
kadonotakashi 0:8fdf9a60065b 103 {
kadonotakashi 0:8fdf9a60065b 104 return LoRaPHY_stub::uint32_value;
kadonotakashi 0:8fdf9a60065b 105 }
kadonotakashi 0:8fdf9a60065b 106
kadonotakashi 0:8fdf9a60065b 107 bool LoRaPHY::verify_channel_DR(uint16_t *channel_mask, int8_t dr)
kadonotakashi 0:8fdf9a60065b 108 {
kadonotakashi 0:8fdf9a60065b 109 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 110 }
kadonotakashi 0:8fdf9a60065b 111
kadonotakashi 0:8fdf9a60065b 112 bool LoRaPHY::val_in_range(int8_t value, int8_t min, int8_t max)
kadonotakashi 0:8fdf9a60065b 113 {
kadonotakashi 0:8fdf9a60065b 114 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 115 }
kadonotakashi 0:8fdf9a60065b 116
kadonotakashi 0:8fdf9a60065b 117 bool LoRaPHY::disable_channel(uint16_t *channel_mask, uint8_t id,
kadonotakashi 0:8fdf9a60065b 118 uint8_t max_channels_num)
kadonotakashi 0:8fdf9a60065b 119 {
kadonotakashi 0:8fdf9a60065b 120 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 121 }
kadonotakashi 0:8fdf9a60065b 122
kadonotakashi 0:8fdf9a60065b 123 uint8_t LoRaPHY::count_bits(uint16_t mask, uint8_t nbBits)
kadonotakashi 0:8fdf9a60065b 124 {
kadonotakashi 0:8fdf9a60065b 125 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 126 }
kadonotakashi 0:8fdf9a60065b 127
kadonotakashi 0:8fdf9a60065b 128 uint8_t LoRaPHY::num_active_channels(uint16_t *channel_mask, uint8_t start_idx,
kadonotakashi 0:8fdf9a60065b 129 uint8_t stop_idx)
kadonotakashi 0:8fdf9a60065b 130 {
kadonotakashi 0:8fdf9a60065b 131 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 132 }
kadonotakashi 0:8fdf9a60065b 133
kadonotakashi 0:8fdf9a60065b 134 void LoRaPHY::copy_channel_mask(uint16_t *dest_mask, uint16_t *src_mask, uint8_t len)
kadonotakashi 0:8fdf9a60065b 135 {
kadonotakashi 0:8fdf9a60065b 136 if ((dest_mask != NULL) && (src_mask != NULL)) {
kadonotakashi 0:8fdf9a60065b 137 for (uint8_t i = 0; i < len; i++) {
kadonotakashi 0:8fdf9a60065b 138 dest_mask[i] = src_mask[i];
kadonotakashi 0:8fdf9a60065b 139 }
kadonotakashi 0:8fdf9a60065b 140 }
kadonotakashi 0:8fdf9a60065b 141 }
kadonotakashi 0:8fdf9a60065b 142
kadonotakashi 0:8fdf9a60065b 143 void LoRaPHY::set_last_tx_done(uint8_t channel, bool joined, lorawan_time_t last_tx_done_time)
kadonotakashi 0:8fdf9a60065b 144 {
kadonotakashi 0:8fdf9a60065b 145 }
kadonotakashi 0:8fdf9a60065b 146
kadonotakashi 0:8fdf9a60065b 147 lorawan_time_t LoRaPHY::update_band_timeoff(bool joined, bool duty_cycle,
kadonotakashi 0:8fdf9a60065b 148 band_t *bands, uint8_t nb_bands)
kadonotakashi 0:8fdf9a60065b 149 {
kadonotakashi 0:8fdf9a60065b 150 return LoRaPHY_stub::uint32_value;
kadonotakashi 0:8fdf9a60065b 151 }
kadonotakashi 0:8fdf9a60065b 152
kadonotakashi 0:8fdf9a60065b 153 uint8_t LoRaPHY::parse_link_ADR_req(const uint8_t *payload,
kadonotakashi 0:8fdf9a60065b 154 link_adr_params_t *params)
kadonotakashi 0:8fdf9a60065b 155 {
kadonotakashi 0:8fdf9a60065b 156 params->ch_mask_ctrl = LoRaPHY_stub::ch_mask_value;
kadonotakashi 0:8fdf9a60065b 157
kadonotakashi 0:8fdf9a60065b 158 if (LoRaPHY_stub::adr_parse_count) {
kadonotakashi 0:8fdf9a60065b 159 return --LoRaPHY_stub::adr_parse_count;
kadonotakashi 0:8fdf9a60065b 160 }
kadonotakashi 0:8fdf9a60065b 161
kadonotakashi 0:8fdf9a60065b 162 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 163 }
kadonotakashi 0:8fdf9a60065b 164
kadonotakashi 0:8fdf9a60065b 165 uint8_t LoRaPHY::verify_link_ADR_req(verify_adr_params_t *verify_params,
kadonotakashi 0:8fdf9a60065b 166 int8_t *dr, int8_t *tx_pow, uint8_t *nb_rep)
kadonotakashi 0:8fdf9a60065b 167 {
kadonotakashi 0:8fdf9a60065b 168 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 169 }
kadonotakashi 0:8fdf9a60065b 170
kadonotakashi 0:8fdf9a60065b 171 void LoRaPHY::get_rx_window_params(double t_symb, uint8_t min_rx_symb,
kadonotakashi 0:8fdf9a60065b 172 uint32_t rx_error, uint32_t wakeup_time,
kadonotakashi 0:8fdf9a60065b 173 uint32_t *window_timeout, int32_t *window_offset)
kadonotakashi 0:8fdf9a60065b 174 {
kadonotakashi 0:8fdf9a60065b 175 }
kadonotakashi 0:8fdf9a60065b 176
kadonotakashi 0:8fdf9a60065b 177 int8_t LoRaPHY::compute_tx_power(int8_t tx_power_idx, float max_eirp,
kadonotakashi 0:8fdf9a60065b 178 float antenna_gain)
kadonotakashi 0:8fdf9a60065b 179 {
kadonotakashi 0:8fdf9a60065b 180 return LoRaPHY_stub::int8_value;
kadonotakashi 0:8fdf9a60065b 181 }
kadonotakashi 0:8fdf9a60065b 182
kadonotakashi 0:8fdf9a60065b 183
kadonotakashi 0:8fdf9a60065b 184 int8_t LoRaPHY::get_next_lower_dr(int8_t dr, int8_t min_dr)
kadonotakashi 0:8fdf9a60065b 185 {
kadonotakashi 0:8fdf9a60065b 186 return LoRaPHY_stub::int8_value;
kadonotakashi 0:8fdf9a60065b 187 }
kadonotakashi 0:8fdf9a60065b 188
kadonotakashi 0:8fdf9a60065b 189 uint8_t LoRaPHY::get_bandwidth(uint8_t dr)
kadonotakashi 0:8fdf9a60065b 190 {
kadonotakashi 0:8fdf9a60065b 191 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 192 }
kadonotakashi 0:8fdf9a60065b 193
kadonotakashi 0:8fdf9a60065b 194 uint8_t LoRaPHY::enabled_channel_count(uint8_t datarate,
kadonotakashi 0:8fdf9a60065b 195 const uint16_t *channel_mask,
kadonotakashi 0:8fdf9a60065b 196 uint8_t *channel_indices,
kadonotakashi 0:8fdf9a60065b 197 uint8_t *delayTx)
kadonotakashi 0:8fdf9a60065b 198 {
kadonotakashi 0:8fdf9a60065b 199 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 200 }
kadonotakashi 0:8fdf9a60065b 201
kadonotakashi 0:8fdf9a60065b 202 bool LoRaPHY::is_datarate_supported(const int8_t datarate) const
kadonotakashi 0:8fdf9a60065b 203 {
kadonotakashi 0:8fdf9a60065b 204 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 205 }
kadonotakashi 0:8fdf9a60065b 206
kadonotakashi 0:8fdf9a60065b 207 void LoRaPHY::reset_to_default_values(loramac_protocol_params *params, bool init)
kadonotakashi 0:8fdf9a60065b 208 {
kadonotakashi 0:8fdf9a60065b 209 }
kadonotakashi 0:8fdf9a60065b 210
kadonotakashi 0:8fdf9a60065b 211 int8_t LoRaPHY::get_next_lower_tx_datarate(int8_t datarate)
kadonotakashi 0:8fdf9a60065b 212 {
kadonotakashi 0:8fdf9a60065b 213 return LoRaPHY_stub::int8_value;
kadonotakashi 0:8fdf9a60065b 214 }
kadonotakashi 0:8fdf9a60065b 215
kadonotakashi 0:8fdf9a60065b 216 uint8_t LoRaPHY::get_minimum_rx_datarate()
kadonotakashi 0:8fdf9a60065b 217 {
kadonotakashi 0:8fdf9a60065b 218 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 219 }
kadonotakashi 0:8fdf9a60065b 220
kadonotakashi 0:8fdf9a60065b 221 uint8_t LoRaPHY::get_minimum_tx_datarate()
kadonotakashi 0:8fdf9a60065b 222 {
kadonotakashi 0:8fdf9a60065b 223 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 224 }
kadonotakashi 0:8fdf9a60065b 225
kadonotakashi 0:8fdf9a60065b 226 uint8_t LoRaPHY::get_default_tx_datarate()
kadonotakashi 0:8fdf9a60065b 227 {
kadonotakashi 0:8fdf9a60065b 228 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 229 }
kadonotakashi 0:8fdf9a60065b 230
kadonotakashi 0:8fdf9a60065b 231 uint8_t LoRaPHY::get_default_max_tx_datarate()
kadonotakashi 0:8fdf9a60065b 232 {
kadonotakashi 0:8fdf9a60065b 233 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 234 }
kadonotakashi 0:8fdf9a60065b 235
kadonotakashi 0:8fdf9a60065b 236 uint8_t LoRaPHY::get_default_tx_power()
kadonotakashi 0:8fdf9a60065b 237 {
kadonotakashi 0:8fdf9a60065b 238 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 239 }
kadonotakashi 0:8fdf9a60065b 240
kadonotakashi 0:8fdf9a60065b 241 uint8_t LoRaPHY::get_max_payload(uint8_t datarate, bool use_repeater)
kadonotakashi 0:8fdf9a60065b 242 {
kadonotakashi 0:8fdf9a60065b 243 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 244 }
kadonotakashi 0:8fdf9a60065b 245
kadonotakashi 0:8fdf9a60065b 246 uint16_t LoRaPHY::get_maximum_frame_counter_gap()
kadonotakashi 0:8fdf9a60065b 247 {
kadonotakashi 0:8fdf9a60065b 248 return LoRaPHY_stub::uint16_value;
kadonotakashi 0:8fdf9a60065b 249 }
kadonotakashi 0:8fdf9a60065b 250
kadonotakashi 0:8fdf9a60065b 251 uint32_t LoRaPHY::get_ack_timeout()
kadonotakashi 0:8fdf9a60065b 252 {
kadonotakashi 0:8fdf9a60065b 253 return LoRaPHY_stub::uint32_value;
kadonotakashi 0:8fdf9a60065b 254 }
kadonotakashi 0:8fdf9a60065b 255
kadonotakashi 0:8fdf9a60065b 256 uint32_t LoRaPHY::get_default_rx2_frequency()
kadonotakashi 0:8fdf9a60065b 257 {
kadonotakashi 0:8fdf9a60065b 258 return LoRaPHY_stub::uint32_value;
kadonotakashi 0:8fdf9a60065b 259 }
kadonotakashi 0:8fdf9a60065b 260
kadonotakashi 0:8fdf9a60065b 261 uint8_t LoRaPHY::get_default_rx2_datarate()
kadonotakashi 0:8fdf9a60065b 262 {
kadonotakashi 0:8fdf9a60065b 263 return phy_params.rx_window2_datarate;
kadonotakashi 0:8fdf9a60065b 264 }
kadonotakashi 0:8fdf9a60065b 265
kadonotakashi 0:8fdf9a60065b 266 uint16_t *LoRaPHY::get_channel_mask(bool get_default)
kadonotakashi 0:8fdf9a60065b 267 {
kadonotakashi 0:8fdf9a60065b 268 return &LoRaPHY_stub::uint16_value;
kadonotakashi 0:8fdf9a60065b 269 }
kadonotakashi 0:8fdf9a60065b 270
kadonotakashi 0:8fdf9a60065b 271 uint8_t LoRaPHY::get_max_nb_channels()
kadonotakashi 0:8fdf9a60065b 272 {
kadonotakashi 0:8fdf9a60065b 273 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 274 }
kadonotakashi 0:8fdf9a60065b 275
kadonotakashi 0:8fdf9a60065b 276 channel_params_t *LoRaPHY::get_phy_channels()
kadonotakashi 0:8fdf9a60065b 277 {
kadonotakashi 0:8fdf9a60065b 278 return LoRaPHY_stub::channel_params_ptr;
kadonotakashi 0:8fdf9a60065b 279 }
kadonotakashi 0:8fdf9a60065b 280
kadonotakashi 0:8fdf9a60065b 281 bool LoRaPHY::is_custom_channel_plan_supported()
kadonotakashi 0:8fdf9a60065b 282 {
kadonotakashi 0:8fdf9a60065b 283 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 284 }
kadonotakashi 0:8fdf9a60065b 285
kadonotakashi 0:8fdf9a60065b 286 void LoRaPHY::restore_default_channels()
kadonotakashi 0:8fdf9a60065b 287 {
kadonotakashi 0:8fdf9a60065b 288 }
kadonotakashi 0:8fdf9a60065b 289
kadonotakashi 0:8fdf9a60065b 290 bool LoRaPHY::verify_rx_datarate(uint8_t datarate)
kadonotakashi 0:8fdf9a60065b 291 {
kadonotakashi 0:8fdf9a60065b 292 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 293 }
kadonotakashi 0:8fdf9a60065b 294
kadonotakashi 0:8fdf9a60065b 295 bool LoRaPHY::verify_tx_datarate(uint8_t datarate, bool use_default)
kadonotakashi 0:8fdf9a60065b 296 {
kadonotakashi 0:8fdf9a60065b 297 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 298 }
kadonotakashi 0:8fdf9a60065b 299
kadonotakashi 0:8fdf9a60065b 300 bool LoRaPHY::verify_tx_power(uint8_t tx_power)
kadonotakashi 0:8fdf9a60065b 301 {
kadonotakashi 0:8fdf9a60065b 302 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 303 }
kadonotakashi 0:8fdf9a60065b 304
kadonotakashi 0:8fdf9a60065b 305 bool LoRaPHY::verify_duty_cycle(bool cycle)
kadonotakashi 0:8fdf9a60065b 306 {
kadonotakashi 0:8fdf9a60065b 307 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 308 }
kadonotakashi 0:8fdf9a60065b 309
kadonotakashi 0:8fdf9a60065b 310 bool LoRaPHY::verify_nb_join_trials(uint8_t nb_join_trials)
kadonotakashi 0:8fdf9a60065b 311 {
kadonotakashi 0:8fdf9a60065b 312 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 313 }
kadonotakashi 0:8fdf9a60065b 314
kadonotakashi 0:8fdf9a60065b 315 void LoRaPHY::apply_cf_list(const uint8_t *payload, uint8_t size)
kadonotakashi 0:8fdf9a60065b 316 {
kadonotakashi 0:8fdf9a60065b 317 }
kadonotakashi 0:8fdf9a60065b 318
kadonotakashi 0:8fdf9a60065b 319
kadonotakashi 0:8fdf9a60065b 320 bool LoRaPHY::get_next_ADR(bool restore_channel_mask, int8_t &dr_out,
kadonotakashi 0:8fdf9a60065b 321 int8_t &tx_power_out, uint32_t &adr_ack_cnt)
kadonotakashi 0:8fdf9a60065b 322 {
kadonotakashi 0:8fdf9a60065b 323 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 324 }
kadonotakashi 0:8fdf9a60065b 325
kadonotakashi 0:8fdf9a60065b 326 void LoRaPHY::compute_rx_win_params(int8_t datarate, uint8_t min_rx_symbols,
kadonotakashi 0:8fdf9a60065b 327 uint32_t rx_error,
kadonotakashi 0:8fdf9a60065b 328 rx_config_params_t *rx_conf_params)
kadonotakashi 0:8fdf9a60065b 329 {
kadonotakashi 0:8fdf9a60065b 330 }
kadonotakashi 0:8fdf9a60065b 331
kadonotakashi 0:8fdf9a60065b 332 bool LoRaPHY::rx_config(rx_config_params_t *rx_conf)
kadonotakashi 0:8fdf9a60065b 333 {
kadonotakashi 0:8fdf9a60065b 334 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 335 }
kadonotakashi 0:8fdf9a60065b 336
kadonotakashi 0:8fdf9a60065b 337 bool LoRaPHY::tx_config(tx_config_params_t *tx_conf, int8_t *tx_power,
kadonotakashi 0:8fdf9a60065b 338 lorawan_time_t *tx_toa)
kadonotakashi 0:8fdf9a60065b 339 {
kadonotakashi 0:8fdf9a60065b 340 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 341 }
kadonotakashi 0:8fdf9a60065b 342
kadonotakashi 0:8fdf9a60065b 343 uint8_t LoRaPHY::link_ADR_request(adr_req_params_t *link_adr_req,
kadonotakashi 0:8fdf9a60065b 344 int8_t *dr_out, int8_t *tx_power_out,
kadonotakashi 0:8fdf9a60065b 345 uint8_t *nb_rep_out, uint8_t *nb_bytes_processed)
kadonotakashi 0:8fdf9a60065b 346 {
kadonotakashi 0:8fdf9a60065b 347 *nb_bytes_processed = LoRaPHY_stub::linkAdrNbBytesParsed;
kadonotakashi 0:8fdf9a60065b 348 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 349 }
kadonotakashi 0:8fdf9a60065b 350
kadonotakashi 0:8fdf9a60065b 351 uint8_t LoRaPHY::accept_rx_param_setup_req(rx_param_setup_req_t *params)
kadonotakashi 0:8fdf9a60065b 352 {
kadonotakashi 0:8fdf9a60065b 353 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 354 }
kadonotakashi 0:8fdf9a60065b 355
kadonotakashi 0:8fdf9a60065b 356 bool LoRaPHY::accept_tx_param_setup_req(uint8_t ul_dwell_time, uint8_t dl_dwell_time)
kadonotakashi 0:8fdf9a60065b 357 {
kadonotakashi 0:8fdf9a60065b 358 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 359 }
kadonotakashi 0:8fdf9a60065b 360
kadonotakashi 0:8fdf9a60065b 361 int LoRaPHY::lookup_band_for_frequency(uint32_t freq) const
kadonotakashi 0:8fdf9a60065b 362 {
kadonotakashi 0:8fdf9a60065b 363 return LoRaPHY_stub::int_value;
kadonotakashi 0:8fdf9a60065b 364 }
kadonotakashi 0:8fdf9a60065b 365
kadonotakashi 0:8fdf9a60065b 366 bool LoRaPHY::verify_frequency_for_band(uint32_t freq, uint8_t band) const
kadonotakashi 0:8fdf9a60065b 367 {
kadonotakashi 0:8fdf9a60065b 368 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 369 }
kadonotakashi 0:8fdf9a60065b 370
kadonotakashi 0:8fdf9a60065b 371 uint8_t LoRaPHY::dl_channel_request(uint8_t channel_id, uint32_t rx1_frequency)
kadonotakashi 0:8fdf9a60065b 372 {
kadonotakashi 0:8fdf9a60065b 373 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 374 }
kadonotakashi 0:8fdf9a60065b 375
kadonotakashi 0:8fdf9a60065b 376 int8_t LoRaPHY::get_alternate_DR(uint8_t nb_trials)
kadonotakashi 0:8fdf9a60065b 377 {
kadonotakashi 0:8fdf9a60065b 378 return LoRaPHY_stub::int8_value;
kadonotakashi 0:8fdf9a60065b 379 }
kadonotakashi 0:8fdf9a60065b 380
kadonotakashi 0:8fdf9a60065b 381 void LoRaPHY::calculate_backoff(bool joined, bool last_tx_was_join_req, bool dc_enabled, uint8_t channel,
kadonotakashi 0:8fdf9a60065b 382 lorawan_time_t elapsed_time, lorawan_time_t tx_toa)
kadonotakashi 0:8fdf9a60065b 383 {
kadonotakashi 0:8fdf9a60065b 384 }
kadonotakashi 0:8fdf9a60065b 385
kadonotakashi 0:8fdf9a60065b 386 lorawan_status_t LoRaPHY::set_next_channel(channel_selection_params_t *params,
kadonotakashi 0:8fdf9a60065b 387 uint8_t *channel, lorawan_time_t *time,
kadonotakashi 0:8fdf9a60065b 388 lorawan_time_t *aggregate_timeoff)
kadonotakashi 0:8fdf9a60065b 389 {
kadonotakashi 0:8fdf9a60065b 390 return LoRaPHY_stub::lorawan_status_value;
kadonotakashi 0:8fdf9a60065b 391 }
kadonotakashi 0:8fdf9a60065b 392
kadonotakashi 0:8fdf9a60065b 393 lorawan_status_t LoRaPHY::add_channel(const channel_params_t *new_channel,
kadonotakashi 0:8fdf9a60065b 394 uint8_t id)
kadonotakashi 0:8fdf9a60065b 395 {
kadonotakashi 0:8fdf9a60065b 396 return LoRaPHY_stub::lorawan_status_value;
kadonotakashi 0:8fdf9a60065b 397 }
kadonotakashi 0:8fdf9a60065b 398
kadonotakashi 0:8fdf9a60065b 399 bool LoRaPHY::remove_channel(uint8_t channel_id)
kadonotakashi 0:8fdf9a60065b 400 {
kadonotakashi 0:8fdf9a60065b 401 return LoRaPHY_stub::bool_table[LoRaPHY_stub::bool_counter++];
kadonotakashi 0:8fdf9a60065b 402 }
kadonotakashi 0:8fdf9a60065b 403
kadonotakashi 0:8fdf9a60065b 404 void LoRaPHY::set_tx_cont_mode(cw_mode_params_t *params, uint32_t given_frequency)
kadonotakashi 0:8fdf9a60065b 405 {
kadonotakashi 0:8fdf9a60065b 406 }
kadonotakashi 0:8fdf9a60065b 407
kadonotakashi 0:8fdf9a60065b 408 uint8_t LoRaPHY::apply_DR_offset(int8_t dr, int8_t dr_offset)
kadonotakashi 0:8fdf9a60065b 409 {
kadonotakashi 0:8fdf9a60065b 410 return LoRaPHY_stub::uint8_value;
kadonotakashi 0:8fdf9a60065b 411 }
kadonotakashi 0:8fdf9a60065b 412
kadonotakashi 0:8fdf9a60065b 413