This is an example application based on Mbed-OS LoRaWAN protocol APIs. The Mbed-OS LoRaWAN stack implementation is compliant with LoRaWAN v1.0.2 specification.
Dependencies: Lorawan_Version_0_1
Dependents: Lorawan_Version_0_1
main.cpp@65:3061ea235a0c, 2020-01-11 (annotated)
- Committer:
- jacktractive
- Date:
- Sat Jan 11 11:35:11 2020 +0000
- Revision:
- 65:3061ea235a0c
- Parent:
- 64:85fa08519e1e
- Child:
- 66:a11c79073f1f
lora outsource doesnt work;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:7037ed05f54f | 1 | /** |
mbed_official | 0:7037ed05f54f | 2 | * Copyright (c) 2017, Arm Limited and affiliates. |
mbed_official | 0:7037ed05f54f | 3 | * SPDX-License-Identifier: Apache-2.0 |
mbed_official | 0:7037ed05f54f | 4 | * |
mbed_official | 0:7037ed05f54f | 5 | * Licensed under the Apache License, Version 2.0 (the "License"); |
mbed_official | 0:7037ed05f54f | 6 | * you may not use this file except in compliance with the License. |
mbed_official | 0:7037ed05f54f | 7 | * You may obtain a copy of the License at |
mbed_official | 0:7037ed05f54f | 8 | * |
mbed_official | 0:7037ed05f54f | 9 | * http://www.apache.org/licenses/LICENSE-2.0 |
mbed_official | 0:7037ed05f54f | 10 | * |
mbed_official | 0:7037ed05f54f | 11 | * Unless required by applicable law or agreed to in writing, software |
mbed_official | 0:7037ed05f54f | 12 | * distributed under the License is distributed on an "AS IS" BASIS, |
mbed_official | 0:7037ed05f54f | 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
mbed_official | 0:7037ed05f54f | 14 | * See the License for the specific language governing permissions and |
mbed_official | 0:7037ed05f54f | 15 | * limitations under the License. |
mbed_official | 0:7037ed05f54f | 16 | */ |
jacktractive | 65:3061ea235a0c | 17 | |
jacktractive | 65:3061ea235a0c | 18 | #include "mbed.h" |
jacktractive | 65:3061ea235a0c | 19 | #include "Lora.h" |
jacktractive | 65:3061ea235a0c | 20 | #include "Fahrrad.h" |
mbed_official | 0:7037ed05f54f | 21 | #include "trace_helper.h" |
jacktractive | 65:3061ea235a0c | 22 | #include <stdio.h> |
jacktractive | 65:3061ea235a0c | 23 | #include "mbed_stats.h" |
jacktractive | 63:2bfceda4c30c | 24 | |
jacktractive | 63:2bfceda4c30c | 25 | float Home_Longitude; |
jacktractive | 63:2bfceda4c30c | 26 | float Home_Latitude; |
jacktractive | 63:2bfceda4c30c | 27 | float Home_Distance; |
jacktractive | 63:2bfceda4c30c | 28 | float Home_Distance_max; |
jacktractive | 64:85fa08519e1e | 29 | bool GPS_activ,LORA_activ,AtHome; |
jacktractive | 63:2bfceda4c30c | 30 | int LiveTick; |
jacktractive | 63:2bfceda4c30c | 31 | bool IsLoading; |
jacktractive | 63:2bfceda4c30c | 32 | AnalogIn LadeSpannung(PB_0); // 1/11 der gleichgerichteten Spannung am Dynamo |
jacktractive | 63:2bfceda4c30c | 33 | |
jacktractive | 65:3061ea235a0c | 34 | struct TX_Position |
jacktractive | 65:3061ea235a0c | 35 | { |
jacktractive | 65:3061ea235a0c | 36 | uint8_t TX_Precode; |
jacktractive | 65:3061ea235a0c | 37 | uint8_t TX_Zeitstempel[sizeof(float)]; |
jacktractive | 65:3061ea235a0c | 38 | uint8_t TX_Longitude[sizeof(float)]; |
jacktractive | 65:3061ea235a0c | 39 | uint8_t TX_Latitude[sizeof(float)]; |
jacktractive | 65:3061ea235a0c | 40 | }; |
mbed_official | 0:7037ed05f54f | 41 | |
mbed_official | 0:7037ed05f54f | 42 | |
jacktractive | 65:3061ea235a0c | 43 | DigitalOut led(LED2); |
mbed_official | 0:7037ed05f54f | 44 | |
jacktractive | 65:3061ea235a0c | 45 | //Livetick Warteschlange Events |
jacktractive | 65:3061ea235a0c | 46 | static EventQueue ev_queue(10 *EVENTS_EVENT_SIZE); |
jacktractive | 63:2bfceda4c30c | 47 | |
jacktractive | 63:2bfceda4c30c | 48 | |
jacktractive | 63:2bfceda4c30c | 49 | static void LifeTicker() |
jacktractive | 63:2bfceda4c30c | 50 | { |
jacktractive | 64:85fa08519e1e | 51 | |
jacktractive | 63:2bfceda4c30c | 52 | LiveTick=LiveTick+1; |
jacktractive | 63:2bfceda4c30c | 53 | printf("\n\t\t---LiveTick--- [%i]\n\n", LiveTick); |
jacktractive | 63:2bfceda4c30c | 54 | printf("Ladewert: %3.3f%%\n", LadeSpannung.read()*100.0f); |
jacktractive | 65:3061ea235a0c | 55 | |
jacktractive | 65:3061ea235a0c | 56 | //if(LadeSpannung.read() > 0.05f) { |
jacktractive | 65:3061ea235a0c | 57 | // if (not IsLoading) {Licht_hell();} |
jacktractive | 65:3061ea235a0c | 58 | // IsLoading = 1; |
jacktractive | 65:3061ea235a0c | 59 | // } else { |
jacktractive | 65:3061ea235a0c | 60 | // if (IsLoading) {ev_queue.call_in(3000, Licht_dunkel);} |
jacktractive | 65:3061ea235a0c | 61 | // IsLoading = 0; |
jacktractive | 65:3061ea235a0c | 62 | // } |
jacktractive | 63:2bfceda4c30c | 63 | |
jacktractive | 64:85fa08519e1e | 64 | if(LORA_activ) |
jacktractive | 64:85fa08519e1e | 65 | { |
jacktractive | 64:85fa08519e1e | 66 | printf("\n\tLORA Connected\n"); |
jacktractive | 64:85fa08519e1e | 67 | } |
jacktractive | 64:85fa08519e1e | 68 | else |
jacktractive | 64:85fa08519e1e | 69 | { |
jacktractive | 64:85fa08519e1e | 70 | printf("\n\tKein LORA Signal\n"); |
jacktractive | 64:85fa08519e1e | 71 | } |
jacktractive | 64:85fa08519e1e | 72 | |
jacktractive | 63:2bfceda4c30c | 73 | ev_queue.call(GPS_aktiv); |
jacktractive | 63:2bfceda4c30c | 74 | // ev_queue.call_in(5000, LifeTicker); |
jacktractive | 65:3061ea235a0c | 75 | |
jacktractive | 65:3061ea235a0c | 76 | |
jacktractive | 65:3061ea235a0c | 77 | mbed_stats_cpu_t stats; |
jacktractive | 65:3061ea235a0c | 78 | mbed_stats_cpu_get(&stats); |
jacktractive | 65:3061ea235a0c | 79 | printf("Uptime: %llu ", stats.uptime / 1000); |
jacktractive | 65:3061ea235a0c | 80 | printf("Sleep time: %llu ", stats.sleep_time / 1000); |
jacktractive | 65:3061ea235a0c | 81 | printf("Deep Sleep: %llu\n", stats.deep_sleep_time / 1000); |
jacktractive | 65:3061ea235a0c | 82 | |
jacktractive | 63:2bfceda4c30c | 83 | } |
jacktractive | 63:2bfceda4c30c | 84 | |
mbed_official | 46:a124538e2891 | 85 | int main(void) |
jacktractive | 64:85fa08519e1e | 86 | { |
jacktractive | 65:3061ea235a0c | 87 | printf("----- MAIN() ------"); |
jacktractive | 65:3061ea235a0c | 88 | |
mbed_official | 0:7037ed05f54f | 89 | // setup tracing |
mbed_official | 0:7037ed05f54f | 90 | setup_trace(); |
jacktractive | 61:2b30d8e75fe7 | 91 | |
jacktractive | 65:3061ea235a0c | 92 | Lora_init(); |
jacktractive | 63:2bfceda4c30c | 93 | |
jacktractive | 65:3061ea235a0c | 94 | ev_queue.call_every(5000,LifeTicker); |
jacktractive | 64:85fa08519e1e | 95 | |
jacktractive | 65:3061ea235a0c | 96 | //Starte_Fahrrad_Eventmanager(); //schonmal die Fahrrad Events Initialisieren falls wir hier auch ohne lorawan empfang was machen wollen |
mbed_official | 3:8c7198d1a2a1 | 97 | |
mbed_official | 3:8c7198d1a2a1 | 98 | return 0; |
mbed_official | 0:7037ed05f54f | 99 | } |
mbed_official | 0:7037ed05f54f | 100 | |
jacktractive | 63:2bfceda4c30c | 101 | |
jacktractive | 63:2bfceda4c30c | 102 | |
jacktractive | 63:2bfceda4c30c | 103 | |
jacktractive | 63:2bfceda4c30c | 104 |