Wykres commitów

633 Commity (30e9311a20fb7965410277c68d6a8b4bcdd42f4b)

Autor SHA1 Wiadomość Data
Federico Amedeo Izzo 57b66652b7 Use channel knob to change frequency and navigate menus (TG-238) 2021-06-05 18:11:30 +02:00
Federico Amedeo Izzo c653535e68 Remove old band and limits defines, now replaced by hwInfo_t 2021-06-05 11:27:20 +02:00
Federico Amedeo Izzo f5c9d97e49 Check frequency limits against hwInfo_t, not hardcoded defines 2021-06-05 10:47:52 +02:00
Silvano Seva 35de41c505 Reduced printf verbosity of linux radio driver 2021-06-03 14:59:59 +02:00
Silvano Seva 66552be403 Added function to radio API allowing to fine tune the radio's VCXO polarisation voltage. Currently, this functionality is effective only on MD-3x0 devices. (TG-195 #ready-for-test) 2021-06-03 14:50:47 +02:00
Silvano Seva b29b24fdc0 Implemented RX tone squelch on MD-UV3x0 and GDx (TG-43) 2021-06-02 12:44:46 +02:00
Silvano Seva fdba408831 Improved registers documentation in HR_C5000 and HR_C6000 drivers 2021-05-29 08:20:12 +02:00
Silvano Seva 4d68f02ab4 Updated documetation for radio.h API, removed old baseband C source files. 2021-05-29 08:20:12 +02:00
Silvano Seva bbdfdd1068 Added support for MD-380 VHF devices. (TG-188) 2021-05-29 08:20:12 +02:00
Silvano Seva 2d517d5bf8 New radio driver for GDx. Renamed some entries in GDx calibration data structure 2021-05-29 08:20:12 +02:00
Silvano Seva 87d9b733e6 Fixed wrong bitmask in AT1846S::setRxAudioGain. Moved getBandFromFrequency function to a dedicated file, in common for all dual-band radio drivers. 2021-05-29 08:20:12 +02:00
Silvano Seva e7b48b14a5 Updated radio driver stub for linux platform 2021-05-29 08:20:12 +02:00
Silvano Seva 4a080d881a Finalised MD-UV3x0 radio driver, now supporting also cross-band operation (TG-186) 2021-05-29 08:20:12 +02:00
Silvano Seva f1a01d7613 New radio driver for MD-UV3x0, testing required 2021-05-29 08:20:12 +02:00
Silvano Seva f0dfd7036f Fixed bug in OpMode_FM.cpp which prevented entering in RX mode, removed code for setting input gain in HR_C5000 driver, modified meson.build to make it compile the new sources 2021-05-29 08:20:12 +02:00
Silvano Seva 850e3580ed New radio driver for MD-3x0 platform, still requiring a bit of debugging 2021-05-29 08:20:12 +02:00
Silvano Seva 529b108771 Added to HR_Cx000 driver a function for setting the gain of the audio input stage. 2021-05-29 08:20:12 +02:00
Silvano Seva 887d95ec58 Created 'wrappers' subfolder in platform/drivers/baseband containing the C wrappers for the AT1846S, HR_C5000 and HR_C6000 drivers 2021-05-29 08:20:12 +02:00
Silvano Seva 11161fa64a Moved to C++ and refactored HR_C5000/HR_C6000 drivers, grouping common code. A C-callable wrapper is also provided. TG-37 2021-05-29 08:20:07 +02:00
Silvano Seva d95e36f43b Moved to C++ and refactored AT1846S driver, grouping common code. A C-callable wrapper is also provided. TG-37 2021-05-29 08:19:47 +02:00
Silvano Seva a6c638b063 Updated code attributions and informations about licensing of part of the codebase 2021-04-21 10:07:34 +02:00
Silvano Seva 63e68b642a Audio management module for x86/64 target, only providing empty stubs since there is no hardware to control 2021-04-12 19:16:47 +02:00
Silvano Seva c070060b0a Fix error in ADC conversion sequence when compiling for MD-3x0 2021-04-12 19:10:45 +02:00
Silvano Seva c0ecf2e13f Basic audio management module, controlling only speaker PA and microphone preamplifier. TG-61 2021-04-12 19:10:13 +02:00
Silvano Seva 7209414a2b Fixed error in ADC conversion sequence in MD-3x0 platforms, improved behaviour of 'platform_pwrButtonStatus' in targets having the power switch on the volume knob. 2021-04-11 18:19:08 +02:00
Silvano Seva 1e7c2ceac3 Fixed missing ';' in GD-77 and DM-1801 implementations of 'platform_pwrButtonStatus' 2021-04-11 12:47:22 +02:00
Silvano Seva 1dfcf1b75f Added missing implementation of 'platform_pwrButtonStatus' in linux platform.c 2021-04-11 12:43:17 +02:00
Silvano Seva 4b30a66735 Added 'platform_pwrButtonStatus' API function, which returns the current status of the power button/knob. Implemented power on/off mechanism on MD-9600 2021-04-11 12:38:20 +02:00
Federico Amedeo Izzo 93d2ede113 Add default contrast setting define 2021-04-11 09:10:08 +02:00
Federico Amedeo Izzo a17e50edef Add NVM codeplug support for MD9600 2021-04-10 22:37:32 +02:00
Silvano Seva 944a597d33 Created low-level driver for management of channel selector knobs with quadrature encoder 2021-04-10 19:29:35 +02:00
Silvano Seva 56c598da7e Created low-level driver for backlight level management 2021-04-10 14:12:15 +02:00
Silvano Seva cdaf3f38dd Renamed MDx display, keyboard and spiFlash drivers to MD3x to adapt the changes made to meson.build also to MD-9600. Fixed missing API change in ui_main. 2021-04-10 12:37:45 +02:00
Silvano Seva c77aebebad Mapped 'C' and 'D' palmtop keys to, respectively, 'ENTER' and 'ESC' functions in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva db6b427513 Support for palmtop mic keys in MD9600 keyboard driver 2021-04-10 12:16:21 +02:00
Silvano Seva 795d8d4451 Implemented input voltage measurement on MD-9600 2021-04-10 12:16:21 +02:00
Silvano Seva f9570f3636 Temporary hand-filled hwInfo for MD-9600 2021-04-10 12:16:20 +02:00
Silvano Seva a15159e7ce Driver for ST7567 display controller 2021-04-10 12:15:29 +02:00
Silvano Seva 94d3a8f52b Stub drivers for NVM and radio management on MD-9600 2021-04-10 12:15:29 +02:00
Silvano Seva e46c77a300 Enabled ADC and NVM manager on MD-9600 2021-04-10 12:15:29 +02:00
Silvano Seva 10e9ac9057 Driver for STM32F4 SPI2, with locking mechanism for concurrent access 2021-04-10 12:15:29 +02:00
Silvano Seva e157fc361d Restructured ADC1_MDx code and extended its support also to MD-9600 2021-04-10 12:15:28 +02:00
Silvano Seva 6b541a8ba1 Platform interface and initial keyboard driver for MD-9600 2021-04-10 12:13:34 +02:00
Silvano Seva 0772f1924b Renamed GDx display and keyboard driver from 'xxx_GD77' to 'xxx_GDx' for consistency with naming scheme 2021-04-10 12:00:36 +02:00
Silvano Seva 311a89ac0f Refactoring of MDx tone generator, adding support for AFSK encoding (not yet implemented) and reproduction of arbitrary audio streams. 2021-04-10 11:24:33 +02:00
Silvano Seva 0ca7258f03 MD3x0 bugfixes: fixed wrong ADC conversion sequence preventing squelch opening and corrected control of W/N switch in radio driver 2021-04-09 12:54:53 +02:00
Silvano Seva a2578ba42d Propagating change of the return value of platform_getChannelSelector 2021-04-03 09:28:27 +02:00
Caleb Jamison e5c5ee90f2 Add support for encoder knob on MD-UV380
Added: qdec, a header only quadrature encoder library

Added: EXTI15_10_IRQHandler to handle the encoder knob

Changed: platform_init() for the MD-UV380 now configures the EXTI15_10
interrupt.

Changed: platform_getChSelector now returns signed int8

Changed: size of settings_t.valid went from 6 to 7
Without this change, pressing the macro button crashes the radio, I
haven't investigated and I don't remember how I found that solution.

Changed: meson.build includes the qdec library
2021-04-03 09:21:47 +02:00
Silvano Seva 1d8596e3c8 Renamed 'MD-UV380' folder and 'PLATFORM_MDUV380' define to, respectively, 'MD-UV3x0' and 'PLATFORM_MDUV3x0' to make them consistent with the meson build target 2021-04-01 08:48:56 +02:00
Silvano Seva 3f9d46dc2a Fixed C6000_setModOffset in MD-UV3x0 HR_C6000 driver, now behaves in the same way as TYT firmware does. Provides a fix for #21, although it still have to be sharpened a bit. 2021-03-31 16:57:35 +02:00
Silvano Seva c13bc94e91 Fixed bug in MD-UV3x0 radio driver making it transmit with 1W output power even when 5W is selected 2021-03-31 15:05:40 +02:00
Silvano Seva 86f6d114e2 Applied __attribute__((packed)) to all data structures to reduce memory footprint 2021-03-26 18:11:22 +01:00
Silvano Seva 7f9600cdb7 Moved MDx tone generator sine table to FLASH 2021-03-26 16:33:08 +01:00
Fred f4e25a3f8f Fix compilation for gd77 and dm1801 targets 2021-03-24 09:25:57 +01:00
Silvano Seva 32e6eb7029 Applied bugfix to MD-UV3x0 radio driver also to GDx one 2021-03-24 08:54:46 +01:00
Silvano Seva a20f907330 Fixed issue with RSSI calculation on MD-UV3x0, leading to an output value of +105dBm when AT1846S register read 0x00 2021-03-22 18:01:37 +01:00
Silvano Seva fb295a7aa0 Fixed issues with AT1846S I2C bus on MD-UV3x0, which caused it to work only if additional capacitance was added to SDA line by probing wires, oscilloscope probe, ... 2021-03-21 22:20:11 +01:00
Silvano Seva 97e234ecf6 Improved software I2C routines for MD-UV3x0 AT1846S driver 2021-03-20 22:46:43 +01:00
Silvano Seva cfe2a609d5 Aligning delays in MD-UV3x0 AT1846S_init to the original firmware's ones 2021-03-20 11:51:35 +01:00
Federico Amedeo Izzo f1643a8748 Comment AT1846S init from UV380 based on AT1846S programming guide 2021-03-20 11:51:35 +01:00
Silvano Seva 8423efb1b5 Fixed issue causing missing RX audio after a transmission on MD-UV3x0 2021-03-20 11:51:35 +01:00
Silvano Seva c1abeefd67 Implemented volume control for audio coming from radio stage on MD-UV3x0 and fixed a compilation warning regarding non-const access to a const variable 2021-03-20 11:51:35 +01:00
Silvano Seva 4ed16fb51c Enabled measurement of volume level on MD-UV3x0 2021-03-20 11:51:35 +01:00
Silvano Seva 07d886a442 Fix for PTT gpio non going back to logic high when the corresponding button is released 2021-03-20 11:51:35 +01:00
Silvano Seva a5120ffddc Radio driver for MD-UV3x0 targets 2021-03-20 11:51:35 +01:00
Silvano Seva 9610d0db07 HR_C6000 driver for MD-UV3x0 targets 2021-03-20 11:51:35 +01:00
Silvano Seva 2ece3794a0 AT1846S driver for MD-UV3x0 2021-03-20 11:51:35 +01:00
Silvano Seva f9332f5ce3 Implemented I2C routines for AT1846S on MD-UV3x0 2021-03-20 11:51:35 +01:00
Silvano Seva 6c79d710a1 Fixed wrong screen orientation on MD-380V(G). Thanks to @tarxvftech for testing! 2021-03-19 13:24:56 +01:00
Silvano Seva 5b44cb9a9f On GDx devices deferred the loading of calibration data from 'platform_init' to the first call of 'platform_getCalibrationData' to avoid having the screen blank for a while when booting 2021-03-14 17:08:12 +01:00
Federico Amedeo Izzo d6b54dc655 GD-77 properly terminate codeplug strings with 0x00 instad of 0xFF 2021-03-14 14:33:19 +01:00
Silvano Seva 5d0c7f3d9c Removed I2C initialisation from GDx EEPROM driver, as the I2C bus is already initialised in platform_init() and the double initialisation made some radios freeze on the splash screen 2021-03-14 11:46:00 +01:00
Federico Amedeo Izzo a5b0bc57d1 GD-77: fix bug where last zone was not read from flash 2021-03-14 11:08:52 +01:00
Federico Amedeo Izzo b7795b47c0 Fix swapped FM/DMR channel type on GD-77 2021-03-13 22:25:51 +01:00
Silvano Seva fb9d8afb6c Adapted MK22 vcom sources to miosix kernel but not activating it. Reconfigured x86 emulator. 2021-03-13 09:16:06 +01:00
Silvano Seva 20ad9b7dcf Fixed issue with MDx ADC, rolling back to real battery voltage measurement 2021-03-13 09:16:06 +01:00
Silvano Seva 608292ee5b Removed old uC/OS-III delay function in linux GPS emulator 2021-03-13 09:16:06 +01:00
Silvano Seva fb3447b0c6 Moving to miosix kernel: swapped old uC/OS-III task management functions with pthread ones 2021-03-13 09:16:06 +01:00
Silvano Seva 2b28ea0525 Moving to miosix kernel: added two functions to 'interfaces/delays.h' to provide substitutes for their uC/OS-III counterparts and removed the old rtos sources 2021-03-13 09:16:06 +01:00
Silvano Seva 093640478c Moving to miosix kernel: adapted GDx drivers and part of the common code to new configuration 2021-03-13 09:16:06 +01:00
Silvano Seva 7992b4abca Moving to miosix kernel: adapted MDx drivers to new configuration 2021-03-13 09:16:06 +01:00
Silvano Seva aa3680ee46 Moving to miosix kernel: boot files for MK22FN512-based targets 2021-03-13 09:16:06 +01:00
Silvano Seva 5995a5d8e0 Moving to miosix kernel: adapted parameters for cross-compilation and modified boot files for STM32-based targets 2021-03-13 09:16:06 +01:00
Federico Amedeo Izzo dc5739b8bc Fix GD-77 SPI flash pinout to make flash working 2021-03-01 20:54:00 +01:00
Federico Amedeo Izzo f5a2f8c1ce Disable settings write until DFU support is complete 2021-03-01 19:53:06 +01:00
Silvano Seva 4038bf811e Fixed error in 'W25Qx_writePage' causing it skipping the blocks having an odd address 2021-02-26 11:07:32 +01:00
Silvano Seva 60b9c8b516 Made linker emit a warning whenever common symbols are merged. Fixed some variables having an unnecessary global scope and being subject to common linkage 2021-02-25 17:00:28 +01:00
Silvano Seva d96e60873e Added register documentation in AT1846S driver 2021-02-25 11:40:56 +01:00
Silvano Seva 3438006ef5 Removed moving average filtering from MDx ADC1 driver, added code for proper filtering of ADC samples in platform-independent code 2021-02-23 15:49:55 +01:00
Silvano Seva dc131c3333 Refactored 'W25Qx_writeData' and disabled '-ffunction-sections', which causes printf not printing decimal dots when used with %f 2021-02-23 13:51:49 +01:00
Federico Amedeo Izzo d4981ee288 Add Settings persistence to SPI Flash 2021-02-21 15:58:41 +01:00
Federico Amedeo Izzo 5f187bc76d Fix SPI Flash write function 2021-02-21 14:28:42 +01:00
Federico Amedeo Izzo bf8a5cf87d Add SPI Flash write data implementation and test 2021-02-21 08:30:51 +01:00
Federico Amedeo Izzo a009ffa2d0 Add CPS contact reading for GD-77 (currently not working for SPI flash issues) 2021-02-20 09:27:07 +01:00
Federico Amedeo Izzo 042ec2d5c1 Add GD-77 VFO channel CPS support 2021-02-20 08:55:42 +01:00
Federico Amedeo Izzo a86176dcb8 Add GD-77 zone CPS support 2021-02-20 08:41:47 +01:00
Federico Amedeo Izzo 6755a4a7e5 Fix CPS channel reading on GD-77 2021-02-19 15:08:29 +01:00
Silvano Seva d69c237255 Fixed misspelled parameter of gpio_clearPin 2021-02-19 11:58:55 +01:00
Silvano Seva af6c78542a Added support for power gating gpio 2021-02-19 11:51:05 +01:00
Federico Amedeo Izzo 947d071f57 CPS: Fix GD-77 Channel base address 2021-02-18 15:41:59 +01:00
Silvano Seva b699fb4d00 Trying to fix screen rotated by 180° on MD-380V devices 2021-02-17 21:14:26 +01:00
Federico Amedeo Izzo 046fcdb417 CPS: Improved GD-77 channel reading 2021-02-17 20:02:53 +01:00
Silvano Seva 06d75ad606 Implemented sector erase and page write into W25Qx driver 2021-02-17 11:39:52 +01:00
Niccolò Izzo 4d66d8b1af Fix various warnings 2021-02-17 11:21:46 +01:00
Niccolò Izzo c752601463 Add test NMEA sentences on linux platform 2021-02-16 23:44:18 +01:00
Federico Amedeo Izzo c0a972963c Add GPS flag to Linux target 2021-02-14 17:49:59 +01:00
Federico Amedeo Izzo 9255dfb969 Disable GPS functions for radios that don't support a GPS chip 2021-02-14 17:49:23 +01:00
Federico Amedeo Izzo 8f3c46a262 Add GDx CPS channel decoding 2021-02-14 17:34:40 +01:00
Federico Amedeo Izzo 845d0b8a7d Reduce RTX and Platform verbosity on Linux, add missing newline in RTX 2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo 3ddf7f3557 Add comment explaining lack of VFO in MD380 CPS 2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo 19838dbb38 Read VFO channel from flash when initializing state 2021-02-13 11:24:05 +01:00
Federico Amedeo Izzo a9ad22a4c9 NVM: Add function to read VFO channel for MD-UV3x0 2021-02-13 11:24:05 +01:00
Silvano Seva e35870a40f Moved data structures for NVM management into dedicated header files 2021-02-13 11:24:05 +01:00
Silvano Seva 2fbf5fcdeb Extending MDx GPS driver also to MD-UV3x0 and MD-9600 targets. 2021-02-10 21:36:54 +01:00
Niccolò Izzo ebaee7b113 Add GPS stub for linux 2021-02-10 20:54:13 +01:00
Niccolò Izzo 0ce92f991c Add GPS NMEA parsing task
Add dedicated task to parse NMEA sentences received by the GPS module.
The parsed data is moved to the radio state, to be read by the user
interface.
2021-02-08 17:25:11 +01:00
Silvano Seva f847631d8e Fixed bug in MDx GPS driver preventing the correct reception of NMEA sentences 2021-02-04 10:31:27 +01:00
Silvano Seva 9b9c521459 GPS driver for MD-3x0 targets 2021-02-04 09:57:43 +01:00
Silvano Seva 03d5184f86 Merged MD-380 and MD-390 targets into a new MD-3x0 one 2021-02-03 15:09:59 +01:00
Silvano Seva 7bfc8c5fb1 Tentative fix for display rotated of 180° on MD-380V devices. See also #13 2021-02-03 14:52:09 +01:00
Silvano Seva 1cd0efdee1 Fixed compilation warnings and code refactoring pass 2021-02-03 14:50:00 +01:00
Silvano Seva 1846fde270 Documentation of AT1846S driver API 2021-02-03 14:30:06 +01:00
Silvano Seva 3e2716f52c Implemented TX CTCSS tone for GDx devices 2021-02-03 14:30:06 +01:00
Silvano Seva a1bd2fe22b Fixed bug in PLL divider computation which leads to have VCO frequency 4.2MHz below the expected value. See #13 2021-02-03 14:30:06 +01:00
Silvano Seva 061c90cfb4 Fixed missing removal of PA drive voltage before turning on RX LNAs in GDx radio driver 2021-02-03 14:30:06 +01:00
Silvano Seva 20930cdc18 Renamed HR_C5000 driver sources 2021-02-03 14:30:06 +01:00
Silvano Seva 5c54de0fac Renamed sources for SKY72310 driver 2021-02-03 14:30:06 +01:00
Silvano Seva fa07a55140 Removing old rtx driver implementations 2021-02-03 14:30:06 +01:00
Silvano Seva e9b7a0154a Added missing audio mux control to GDx radio driver 2021-02-03 14:30:06 +01:00
Silvano Seva eb619f4b38 Radio driver for GDx targets 2021-02-03 14:30:06 +01:00
Silvano Seva fd9c26565d Radio driver for MD-UV3x0 target 2021-02-03 14:30:06 +01:00
Silvano Seva 72455b7fb0 New radio driver for linux platform 2021-02-03 14:30:06 +01:00
Silvano Seva d9a55c137a Implementation of all common rtx functionalities and radio driver for MD3x0 2021-02-03 14:30:06 +01:00
Silvano Seva edb2697124 New 'radio' interface API, providing a standard interface for low-level platform-specific baseband control 2021-02-03 14:30:06 +01:00
Silvano Seva 2fee6d0d06 Fixed decoding of CT/DCSS codeplug field in MDx nvmem driver 2021-02-02 22:24:12 +01:00
Federico Amedeo Izzo 83d91b555d Add hwInfo in Info menu 2021-02-02 21:45:10 +01:00
Federico Amedeo Izzo 61ad0879c5 CPS-UI: Make channels, zones and contacts 1-based to fix zone bound 2021-02-02 20:52:37 +01:00
Silvano Seva bcf2aa636c Final cleanup and renaming of MDx display driver 2021-02-02 11:18:33 +01:00
Silvano Seva 1249a791cc Automatic display detection and configuration in MDx display driver 2021-02-02 10:36:54 +01:00
Federico Amedeo Izzo faf943b02b NVM: Add Linux fake zone members 2021-02-01 22:29:35 +01:00
Silvano Seva 80c7668faa Added a data structure providing some hardware information parameters and the relative platform API function to retrieve them 2021-02-01 21:27:31 +01:00
Silvano Seva 13db8244b2 Fixed sporadic keyboard glitches in MDx devices 2021-02-01 19:11:14 +01:00
Niccolò Izzo 09864adf21 Add zones and contact parsing on MD-3x0 2021-02-01 18:51:40 +01:00
Niccolò Izzo ceb109946e Fix input acquisition bug on MD-3x0 2021-02-01 18:51:21 +01:00
Silvano Seva 88387ee00d Renamed 'GD77' folder to 'GD-77' to correctly match the device name 2021-02-01 15:55:45 +01:00
Silvano Seva 86c25d6e26 Fixed missing include in 'keyboard_MDx.c' 2021-02-01 11:25:45 +01:00
Silvano Seva c87f178823 Fixed bug in UC1701 preventing some settings to be correctly applied 2021-01-30 07:53:37 +01:00
Federico Amedeo Izzo 50841f40ff Enable contrast menu for DM-1801 and MD-9600 2021-01-29 23:11:11 +01:00
Federico Amedeo Izzo 450c965ee0 Disable contrast menu on targets without adjustable contrast 2021-01-29 22:57:24 +01:00
Niccolò Izzo 9f980f1dd4 Sane default for linux RSSI stub 2021-01-29 18:14:48 +01:00
Niccolò Izzo cf8e02506c Align squelch values with rssi 2021-01-29 11:28:21 +01:00
Niccolò Izzo 2fa5b7a6e6 Fix squelch setting on linux 2021-01-28 16:46:09 +01:00
Niccolò Izzo 226d2ccaf7 Implement RSSI based squelch control 2021-01-28 15:13:06 +01:00
Niccolò Izzo 0b98f50a12 Add absolute knob positioning and horizontal keys emulation 2021-01-28 14:14:25 +01:00
Niccolò Izzo 90445e29a7 Implement voltage to dBm conversion in MDx
MDx radios get an RSSI voltage in mV, to be converted into dBm, we used
and empirically derived linear relation to compute the dBm value.
2021-01-28 10:31:37 +01:00
Silvano Seva 92870f477f Added display API function to set LCD contrast 2021-01-26 08:53:42 +01:00
Federico Amedeo Izzo 5a37ba3e8a CPS: Add dummy zones and contacts generation on Linux 2021-01-24 19:01:51 +01:00
Silvano Seva 41a413cfdd RTX support for GD77 target 2021-01-24 18:59:12 +01:00
Silvano Seva b9ddaca42c Added TX support to GDx baseband driver 2021-01-24 18:59:12 +01:00
Silvano Seva 4e4130e524 Added some missing setters for AT1846S calibration and fixed other ones 2021-01-24 18:59:12 +01:00
Silvano Seva 72220c377e Implemented RTX driver for GDx platform, by now only supporting RX 2021-01-24 18:59:12 +01:00
Silvano Seva 8afa1d700e Driver for HR_C6000 baseband IC 2021-01-24 18:59:12 +01:00
Silvano Seva b2eb042d2b Driver for AT1846S baseband IC 2021-01-24 18:59:12 +01:00
Silvano Seva 9802bc4e75 Started implementation of baseband drivers for GDx platforms 2021-01-24 18:59:12 +01:00
Federico Amedeo Izzo 302eb572be CPS: Add Zone and Contact reading function stubs 2021-01-24 18:11:09 +01:00
Federico Amedeo Izzo d3796971df NVMEM: Fix compiler warning on linux 2021-01-24 16:29:48 +01:00
Federico Amedeo Izzo 0608176342 CPS: Read contact data from codeplug 2021-01-23 11:28:12 +01:00
Federico Amedeo Izzo 33336ecccc CPS: Return -1 when reading an empty channel or zone 2021-01-23 10:38:18 +01:00
Federico Amedeo Izzo fe35d4017a CPS: Fix zone data reading 2021-01-23 10:05:18 +01:00
Federico Amedeo Izzo 489326f5cd CPS: Fix zone extension reading 2021-01-22 21:23:45 +01:00
Federico Amedeo Izzo 6706a796ad CPS: Add code to read zone data from Codeplug 2021-01-22 21:16:13 +01:00
Silvano Seva 4bbad17012 Refactoring of data structure for GDx calibration data: 'vhfCal' and 'uhfCal' fields merged into a single two-element array field 2021-01-21 12:34:11 +01:00
Federico Amedeo Izzo cb4b55d9a3 NVM: Remove unused duplicate driver 2021-01-13 21:13:14 +01:00
Federico Amedeo Izzo 6b47a32292 UI NVM: Fix base address for UV3x0 radios, and convert from 10*Hz to Hz 2021-01-10 11:50:03 +01:00
Federico Amedeo Izzo 47c20f8cff NVM: Convert freq from tens of Hz to Hz when reading CPS channel 2021-01-10 11:27:01 +01:00
Federico Amedeo Izzo 73c9ab56a6 UI: Channel mode: load channel from cps and do basic validation 2021-01-10 10:18:29 +01:00
Niccolò Izzo adc48efb19 Implement CTCSS available tones array
Now the CTCSS tones are taken from an array and indexed from that array.
A macro that sets the tone has been implemented.
2021-01-05 11:26:22 +01:00
Niccolò Izzo bbcd6483a2 Add tone enable flags into channel data structure 2021-01-05 10:08:18 +01:00
Niccolò Izzo 2fe6cd1cb6 Implement draft of the macro menu feature 2021-01-05 10:08:18 +01:00
Silvano Seva a057d2bfee Fix for MD3x0 rtx driver transmitting TX CTCSS tone even if settings tell it as disabled 2021-01-05 09:42:52 +01:00
Silvano Seva 8010302d4d Tone generator and GPIO for audio control on MD-UV380 platform 2021-01-04 20:53:42 +01:00
Silvano Seva 41e6c1d1e6 Added flags to enable TX and RX tones in rtxStatus_t 2021-01-04 08:58:17 +01:00
Federico Amedeo Izzo 5f5c993f9a Remove separate MD-UV380G platform files.
From now on they will be shared with MD-UV380,
with only a GPS define set in meson.build.
2021-01-03 08:25:37 +01:00
Silvano Seva 16e4642b97 Fix for first part of #11, caused by VCO not being updated when a new configuration is received by the rtx driver 2021-01-02 21:19:26 +01:00
Silvano Seva 403f37844f Fixed compilation error for MD-UV380G target 2021-01-02 19:39:59 +01:00
Silvano Seva 48775a71fd Finalising merge of branch master into GDx-development 2021-01-02 15:17:15 +01:00
Silvano Seva 206daec861 Driver for nonvolatile external memory on GDx devices, by now only supporting retrieval of calibration parameters 2021-01-02 15:07:14 +01:00
Silvano Seva ff7216e9cd Driver for AT24Cx external EEPROM present on GDx devices 2021-01-02 15:07:14 +01:00
Silvano Seva b393cdad8d Added locking mechanism to MK22FN512xx I2C0 driver to allow for multithread use 2021-01-02 15:07:14 +01:00
Silvano Seva 56d56e901f Driver for MK22FN512xx I2C0 peripheral 2021-01-02 15:07:14 +01:00
Silvano Seva 5581276ec5 Calibrated delayMs and delayUs on MK22FN512xx MCU 2021-01-02 15:07:14 +01:00
Silvano Seva efb235ae4e Fixed issues with _read_r in MK22FN512xx libc integration code 2021-01-02 15:07:14 +01:00
Silvano Seva aad19cc41c Driver for external SPI flash memory on Baofeng DM-1801 2021-01-02 15:07:14 +01:00
Silvano Seva d9f6ea31ab Separated code for SPI communication from sources of external flash memory driver. 2021-01-02 15:07:14 +01:00
Federico Amedeo Izzo 89813199d3 Add dummy nvmem Linux driver 2021-01-02 12:10:10 +01:00
Federico Amedeo Izzo b74dba7564 Differentiate MDUV380G target from MDUV380 2021-01-02 12:08:58 +01:00
Federico Amedeo Izzo 08087cb14a linux-keyboard.c: Fix 0 key contantly pressed on Linux 2021-01-01 20:41:15 +01:00
Federico Amedeo Izzo 94b7be826a Disable RTC related code on platforms without a functional RTC 2021-01-01 18:58:35 +01:00
Federico Amedeo Izzo 8163eba67b Add MD-9600 support, boot and USB serial working 2021-01-01 18:32:50 +01:00
Silvano Seva a8b18b68d7 Mapped DM1801 VFO/MR button to KEY_F3 and A/B button to KEY_F4 2021-01-01 18:00:51 +01:00
Silvano Seva 7cc4b36907 Suppressed some compiler warnings 2021-01-01 17:31:42 +01:00
Silvano Seva 8b6f4e3056 Renamed rtc_shutdown() and toneGen_shutdown() to rtc_terminate() and toneGen_terminate() 2020-12-31 18:31:00 +01:00
Silvano Seva 142d6e90b9 In all the platforms having it, added RTC initialisation to platform_init() 2020-12-31 17:55:04 +01:00
Federico Amedeo Izzo 418fec0ac9 Platform: Fix wrong VHF high limit 2020-12-31 15:06:50 +01:00
Federico Amedeo Izzo 7a9135d746 Platform: Add frequency limit check 2020-12-31 14:51:19 +01:00
Federico Amedeo Izzo d4bc1bbd9c RTC: Fix Linux RTC driver date format 2020-12-28 16:02:41 +01:00
Niccolò Izzo c77cc46fb6 Fix include syntax
Interface header includes have acquired the interface prefix, to
distinguish them from regular header includes.
2020-12-24 16:30:13 +01:00
Silvano Seva f38ce61dc9 ADC driver for GDx targets 2020-12-22 15:29:32 +01:00
Silvano Seva 0f09504453 Integrated MK22FN512xx USB VCOM driver with stdio system 2020-12-22 12:16:01 +01:00
Silvano Seva 498109a672 Second cleanup pass to MK22FN512xx USB VCOM driver sources 2020-12-22 11:05:50 +01:00
Silvano Seva 83d438ec15 USB VCOM for MK22FN512xx targets almost ready 2020-12-22 09:06:03 +01:00
Silvano Seva 4d4a561345 First cleanup pass to USB VCOM sources 2020-12-21 21:55:37 +01:00
Silvano Seva 626d710151 Initial USB VCOM driver 2020-12-21 21:36:22 +01:00
Silvano Seva 4f34822db2 Implemented backlight dimming for GD77 and DM-1801 targets 2020-12-21 12:55:34 +01:00
Silvano Seva 7b442047ec Increased MK22FN512xx clock frequency to ~120MHz 2020-12-21 11:08:17 +01:00
Silvano Seva 18709607b3 Board support package for Radioddity DM-1801 2020-12-20 15:14:50 +01:00
Silvano Seva 85a41a5ca7 On MDx targets made the ADC DMA trasfer priority higher than the DMA framebuffer one to avoid ADC overruns due to the ADC DMA transfer being suspended by the framebuffer ones 2020-12-19 21:57:43 +01:00
Federico Amedeo Izzo 1f6bfa4cff RTX: Remove printf from UV3x0 RTX stub, fixes issue #9 2020-12-19 16:46:00 +01:00
Niccolò Izzo d56fafe1a2 Merge graphics_* into a single compilation unit
The specialized graphics libraries ended up sharing the majority of the
code, now they have been merged into a single library so that the
graphics development can be done quicker without leaving any of the
platforms behind.
2020-12-19 12:49:30 +01:00
Silvano Seva f0862abac1 On MD3x0 baseband, fixed PLL going nuts for some frequencies (e.g. 430.0MHz) and causing the radio transmitting on a shifted band. 2020-12-19 10:12:05 +01:00
Silvano Seva 1f8840b3ca Reorganised and cleaned up GD77 BSP files 2020-12-18 18:28:47 +01:00
Silvano Seva 431d445c77 Adding stub RTX driver for GDx devices 2020-12-18 17:16:08 +01:00
Federico Amedeo Izzo 599569f236 Add UV3x0 RTX stub 2020-12-17 22:18:09 +01:00
Federico Amedeo Izzo 99bd45d465 Add linux RTX stub 2020-12-14 15:31:39 +01:00
Silvano Seva 0d5a703521 Began integrating RTX driver with all the other code 2020-12-13 11:44:07 +01:00
Silvano Seva 4f0ffe8565 Improved message passing mechanism for rtx driver configuration 2020-12-13 09:17:08 +01:00
Silvano Seva 6ca3faceaf Made calls to 'display_renderRows' and 'display_render' blocking, thus not requiring anymore to busy wiat on 'display_renderingInProgress'. Modifications involved only MDx display driver, the others were already blocking. 2020-12-12 10:16:26 +01:00
Fred 1a11ff8401 Optimize libSDL driver for RGB565 2020-12-11 14:41:44 +01:00
Silvano Seva 47dd9e2046 Fixed glitching keyboard buttons on MDx targets 2020-12-11 14:41:44 +01:00
Niccolò Izzo 41ec005680 Implement battery voltage to charge conversion
Voltage to charge nonlinear function is being linearly approximated in
the operating range.
2020-12-11 14:09:36 +01:00
Silvano Seva 2f05bbc6ff Added compilation of MD3x0 rtx source files to MD390 target 2020-12-06 19:49:10 +01:00
Silvano Seva bb53b5ccef Added squelch system to MD3x0 rtx driver 2020-12-06 19:33:27 +01:00
Silvano Seva 2c0b75b221 Added CTCSS TX tone 2020-12-06 19:33:27 +01:00
Silvano Seva 41d09ce28e Cleaned up HR_C5000 driver source file 2020-12-06 19:33:27 +01:00
Silvano Seva 0fee5acbf0 Complete refactoring of both rtx API and its implementation for MD3x0 platforms 2020-12-06 19:33:27 +01:00
Silvano Seva 6e144a7160 Fixed bug in MD3x0 calibration loader, made the input parameters of 'interpCalParameter' const 2020-12-06 19:33:27 +01:00
Silvano Seva b1412dedb8 Added 'OSIntEnter'/'OSIntExit' to MDx tone generator ISR 2020-12-06 19:33:27 +01:00
Silvano Seva aa0e1f479e Fixed error in function to set HR_C5000 modulation bias, merged rx and tx testsuites for MD380 2020-12-06 19:33:27 +01:00
Silvano Seva 29f5b82488 Refactoring code of HR_C5000 driver, adding documentation and sharpening its API. 2020-12-06 19:33:27 +01:00
Silvano Seva bd9a258541 More refactoring of HR-C5000 driver, cleaning up command sequences 2020-12-06 19:33:27 +01:00
Silvano Seva 88ea167804 Began refactoring of HR-C5000 driver 2020-12-06 19:33:27 +01:00
Silvano Seva 46f68ebca6 First skeleton of a driver for HR-C5000 and made TX working on TYT MD-380 2020-12-06 19:33:27 +01:00
Silvano Seva 55b182406d Initial implementation of rtx driver for TYT MD-380 radio, by now supporting only analog FM reception 2020-12-06 19:33:27 +01:00
Federico Amedeo Izzo 17376b819a hwconfig: Define MAX_VBAT for MD-UV380 2020-12-06 18:29:38 +01:00
Niccolò Izzo 1ee4744cb7 Improve battery icon drawing implementation
Fix a bug where the signature of the battery draw function was not
present, causing a build error. Now the battery size and position is
screen size independent and should work for all layouts.
2020-12-06 16:22:38 +01:00
Niccolò Izzo f1400ac528 Add battery icon 2020-12-06 16:19:46 +01:00
Fred 41ecb11d3a Add GD77 keyboard driver 2020-12-05 15:27:04 +01:00
Fred c096e946a4 Change GD77 display padding and font size 2020-12-04 20:49:04 +01:00
Fred 0d437b239d Add GD77 keyboard file 2020-12-04 20:39:20 +01:00
Fred 5d9ac78548 Fix GD77 display driver 2020-12-04 20:39:20 +01:00
Silvano Seva 8762a9e3a8 Display driver for GD77, still work in progress 2020-12-04 20:39:19 +01:00
Silvano Seva eaaaca648b Support package for Radioddity GD77 2020-12-04 20:39:19 +01:00
Silvano Seva 774468ae46 Added to platform API a function allowing to retrieve device calibration data 2020-12-04 10:45:03 +01:00
Silvano Seva d4cdba2243 Moved calibration data structures from 'platform/drivers/NVM' to 'openrtx/include/calibration', since various modules need them 2020-12-04 10:27:04 +01:00
Fred 7db1ee28e8 Fix gcc warnings in emulator.c 2020-11-29 13:29:11 +01:00
Federico Amedeo Izzo efc4820328 Keyboard: Replace uint32_t with keyboard_t 2020-11-28 09:51:18 +01:00
Silvano Seva 3bb7e2cfd4 Moved to static allocated framebuffer and USB vcom rx buffer 2020-11-27 22:34:25 +01:00
Silvano Seva 4dbdb5ddbb Implemented reading of channel data from external flash memory for MDx targets 2020-11-25 16:40:17 +01:00
Silvano Seva 83f375c675 Merged MD3x0 and MDUV3x0 calibration data structures into a single header file for MDx family 2020-11-25 13:57:36 +01:00
Silvano Seva 8b60ad83b4 Added sample averaging to MDx ADC driver 2020-11-25 10:26:53 +01:00
Silvano Seva 50771c8bbe Moved macro for compile-time definition of the current target from per-target 'hwconfig.h' files to meson.build 2020-11-24 17:39:19 +01:00
Silvano Seva 9ba2c79425 Code changes to remove a bunch of compiler warnings 2020-11-24 17:27:30 +01:00
Silvano Seva 7a6f39ad26 Added NVM driver compilation for all the MDx family devices and reorganised the platform test printing the calibration, now merged into one single file for all the MDx devices. 2020-11-24 15:42:57 +01:00
Silvano Seva 8efbfab6e1 Fixed parsing errors in MD-UV3x0 calibration data loader 2020-11-24 12:41:20 +01:00
Silvano Seva e690a36dd1 Implemented NVM interface API also for MD-UV3x0 targets 2020-11-24 12:41:20 +01:00
Silvano Seva 8ddebef197 Dumping security registers of MD-UV380 2020-11-24 12:41:20 +01:00
Silvano Seva 310f19c6b7 API to access external nonvolatile memory, implementation for MD3x0 devices and testsuite for printing calibration values of MD3x0 devices 2020-11-21 09:37:12 +01:00
Silvano Seva 9b14e9fae7 Low-level driver for external SPI flash memory on MDx family devices 2020-11-20 14:47:52 +01:00
Silvano Seva 1cf2a40182 Changed names of source files for MDx drivers to comply to new naming convention 2020-11-19 18:24:28 +01:00
Silvano Seva 552a88ed4c Reorganising includes in MDxx380 tone generator source file 2020-11-19 12:53:13 +01:00
Fred de6fa813af Move assets folder and add splash screen gif 2020-11-19 12:31:28 +01:00
Fred 610da21013 Fix emulator compilation errors 2020-11-17 21:58:24 +01:00
Federico Amedeo Izzo fc3ee1d6ed emulator.h: Remove not needed SDL_image dependency 2020-11-17 18:00:38 +01:00
Fred e917738516 Add initial emulator implementation 2020-11-17 15:44:06 +01:00
Federico Amedeo Izzo a58eaa2a08 keyboard_linux.c: add kbd_init() implementation to fix compilation on Linux 2020-11-16 21:29:10 +01:00
Silvano Seva 85a89d1f84 Doubled the prescale value of all the timers, since they run at twice the frequency of the bus they are connected to 2020-11-16 18:03:02 +01:00
Silvano Seva 01ee477b02 Workaround for an STM32F405 bug causing a delay between an RCC peripheral clock enable and the effective peripheral enabling, as described in ST's silicon errata sheet 2020-11-16 11:24:52 +01:00
Silvano Seva 76086d567f Fixed regression affecting USB virtual COM port on TYT MD-380 2020-11-16 11:02:31 +01:00
Silvano Seva 89e822813b Adding the remaining part of issue #5 fix, forgot in the previous commit 2020-11-15 21:16:49 +01:00
Silvano Seva 72988cd5cf Fix for both issue #5 and a bug in keyboard driver leading to undetected keypresses in some cases 2020-11-15 20:38:28 +01:00
Silvano Seva 793a2dcd52 Adding build target for Tytera MD-390 radio 2020-11-13 16:57:49 +01:00
Silvano Seva 9458fd252b Moving to a general flag for x-axis mirroring in MDxx380 display driver 2020-11-13 16:32:57 +01:00
Silvano Seva f7fde110bb Tone generator for CTCSS and user interface 'beep' on MD380 2020-11-13 14:31:43 +01:00
Silvano Seva eb876f1b0c Fixed bad clock tree configuration for STM32F405 MCU 2020-11-13 12:27:07 +01:00
Silvano Seva a5eeca7dae Moving ADC driver for MDxx380 family to common drivers folder. 2020-11-13 08:58:10 +01:00
Fred f10a6e426c Improve SDL keyboard event handling 2020-11-11 11:01:27 +01:00
Silvano Seva b4b3b3fa5a Fixing screen orientation for MD380 2020-11-03 22:46:58 +01:00
Silvano Seva 6c2e3153c7 Added, for each hconfig.h, a define directive to allow to uniquely identify the target platform during compilation 2020-11-03 22:41:34 +01:00
Fred 9f9b76e9b5 Make the SDL window resizable 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo 46add610e1 UI: Add battery indicator 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo c0e4115482 UI: Add clock to top bar, add rtc.c for Linux 2020-11-03 15:15:36 +01:00
Silvano Seva 4cdc51a36b Temporarily disabling critical sections in STM32 RTC driver due to compilation issues, to be fixed 2020-11-03 15:15:36 +01:00
Fred 3d1f255d46 Add keyboard implementation for linux 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo b0e83c4303 Fix compilation for MD-UV380 2020-11-03 15:15:36 +01:00
Silvano Seva a232caf7ec Cleaned up MD-UV380 hwconfig and platform API implementation, removed pins and function bodies not corresponding to any known functionality. 2020-11-03 15:15:36 +01:00
Silvano Seva b0f5341304 Added flag for 'monitor' button to keyboard driver, implemented 'monitor' and 'function' buttons in MDxx380 keyboard driver 2020-11-03 15:15:36 +01:00
Silvano Seva 9a94efb1c7 Keyboard driver for MD-380 and MD-UV380 2020-11-03 15:15:36 +01:00
Fred b434793baf Add linux implementation of the platform API 2020-11-03 15:15:36 +01:00
Silvano Seva 2350103831 Made platform_getVbat returning the battery voltage in V instead of mV. 2020-11-03 15:15:36 +01:00
Silvano Seva bf3488def8 Improved check for rendering in progress in HX83XX display driver, now both chip select and DMA enable bit are verified 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo adb4995653 MD-UV380: Separate target from MD380, add platform.c code 2020-11-03 15:15:36 +01:00
Silvano Seva fed1146690 Adding channel selector and PTT to MD-380 platform API 2020-11-03 15:15:36 +01:00
Silvano Seva 69c96c1d81 Renamed source file of display driver for MD-380 and MD-UV380 2020-11-03 15:15:36 +01:00
Silvano Seva 8a3872e5f9 Added to platform API a function which allows to query the PTT status 2020-11-03 15:15:36 +01:00
Silvano Seva bdd5ea6c7b Implemented display backlight regulation for MD-UV380 2020-11-03 15:15:36 +01:00
Silvano Seva 6e758fe92b Initial implementation of the platform API for MD-UV380 target 2020-11-03 15:15:36 +01:00
Silvano Seva 05f180f596 Implementing the remaining API specified in platform.h for MD380 target 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo cb099b1171 Add MD-UV380 platform files 2020-11-03 15:15:36 +01:00
Federico Amedeo Izzo 6b0f0242d1 Remove screenWidth and screenHeight getters. 2020-11-03 15:15:36 +01:00
Fred 3671b737d9 Fix gcc printf warning 2020-11-03 15:15:36 +01:00
Silvano Seva fc0b3ef89e Suppressed a bit of warnings 2020-11-03 15:15:36 +01:00
Fred 1d0fff3489 Add platform files for linux build 2020-11-03 15:15:36 +01:00
Silvano Seva 00d726ddbc Moved bootstrap code into a dedicated file to improve readability 2020-11-03 15:15:36 +01:00
Silvano Seva 7ff11ff5a3 Fixing compilation issues after having added hwconfig.h and platform.c for MD380 radio 2020-11-03 15:15:36 +01:00
Silvano Seva ba40d5f70f Moving GPIO definitions to hwconfig.h 2020-11-03 15:15:36 +01:00
Silvano Seva 99b2280f76 Adding interface for RTC drivers 2020-11-03 15:15:36 +01:00
Silvano Seva 9b20e5010c Made gpio API completely platform independent 2020-11-03 15:15:35 +01:00
Silvano Seva beb33ff244 Moved constants for screen dimensions to platform-dependent hwconfig file 2020-11-03 15:15:35 +01:00
Federico Amedeo Izzo c3ef0ca036 Remove backlight control from anywhere except platform.c and platform.h 2020-11-03 15:15:35 +01:00
Silvano Seva 06346ac827 Moving function for setting display backlight level from display driver to 'platform.c' file 2020-11-03 15:15:35 +01:00
Niccolò Izzo 4a27aadcc2 Fix typo 2020-11-03 15:15:35 +01:00
Silvano Seva e5decb7244 Fixed endianness reordering in MD380 display driver, now it reorders only the lines to be rendered instead of the whole framebuffer 2020-11-03 15:15:35 +01:00
Silvano Seva bdb59a3ff9 Adapting MD380 display driver to uC/OS-III, making little code reorganisation and embedding endianness reordering into display_render() 2020-11-03 15:15:35 +01:00
Silvano Seva b9517e5867 Adding support for 8bpp grayscale and 1bpp black/white pixel formats to SDL-based display emulator, keeping 16bpp RGB565 as the default one. 2020-11-03 15:15:35 +01:00
Niccolò Izzo 6420d2b2c1 Add TYT MD380 build target
Add meson cross-compilation configuration for building for the TYT
MD-380 and MD-UV380 radios.
2020-11-03 15:15:35 +01:00
Silvano Seva 638707a6aa Renamed 'lcd.h' to 'display.h' and updated the function names for low-level display driver. 2020-11-03 15:15:35 +01:00
Silvano Seva f043581928 Making the interface for low-level display drivers more general: now the pointer to framebuffer is returned as void *. Updated existing drivers and test code accordingly. 2020-11-03 15:15:35 +01:00
Silvano Seva ad8d89cd3e Testing uC/OS-III on STM32F4 MCU 2020-11-03 15:15:35 +01:00
Silvano Seva b2d613f38b Improved lcd_terminate function in SDL-based lcd driver 2020-11-03 15:15:35 +01:00
Silvano Seva 2cfca62b00 Driver for SDL-based display emulator, updated lcd.h documentation 2020-11-03 15:15:35 +01:00
Silvano Seva 564c7b94d9 Added missing folder 2020-11-03 15:15:35 +01:00
Silvano Seva 4ab8cb55e8 Creating folder structure 2020-11-03 15:15:35 +01:00
Silvano Seva 327d8c193c Start migrating code from previous work 2020-11-03 15:15:35 +01:00