Closed micked99 closed 2 years ago
Hello Mikael,
thank you for submitting this issue. In fact, there is a problem with a buffer overflow in this version. The altitude is converted from meters to feet for APRS. This value was wrongly stored in a 16-bit integer. The signed 16-bit int goes up to 32767. 32767 feet correspond approximately to 9987m. Therefore, a buffer overflow happened at 9987m. I have already fixed this bug in the current version but have not yet committed this version. I will commit it soon. Please note that this project is a student project. I have no professional programming experience.
I hope I could help you and remain with friendly greetings
Amon Schumann - DO4AS
BTW: Your PCB design looks very nice. Hope to stay in touch.
Hi, when the balloon gets over 10000m / 30000 feet the altitude starts counting backwards, so a balloon at 11200m transmitts (minus) -8800m.
/Mikael - SA6BSS mikael_dagman@hotmail.com
Never mid this it was my own stupid misatake :), sorry to have bothered you!!
Tnx for this nice fw! I have made some mods to it and developed 2 pcbs around it, some info in here: https://github.com/micked99/SX1278
ps. check your line: sprintf(comment_buffer, "/A=%06d/F%dN%dT%dE%dY%dV%dC%dS%d %s" , int((altitude3.28084)), payload_flight_number, aprs_packet_number, temperature, mcu_vin, solar_vin, gps_speed, gps_course, number_of_gps_satellites, additional_comment.c_str()); where the int int((altitude3.28084)) max out at 32,767 ?