Commit Graph

26457 Commits

Author SHA1 Message Date
Siddharth Purohit 67dbbc34b7 AP_RangeFinder: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit d6ac420055 AP_PiccoloCAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit 67278d54ae AP_Notify: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit 274ce7b516 AP_KDECAN: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit 5014c65276 AP_HAL_SITL: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit 9ed015f1c7 AP_HAL_Linux: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit f8d313cfd6 AP_HAL_ChibiOS: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit c640f0d3d9 AP_HAL: split into HAL_CANMANAGER_ENABLED and HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit 17459128bf AP_HAL: Use HAL_ENABLE_CANMANAGER instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit fc1bc6b852 AP_Filesystem: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Siddharth Purohit b32f687a6b AP_CANManager: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-07-04 08:19:10 +10:00
Leonard Hall ee9ae3e570 AC_AttitudeControl: AC_PosControl: Init and stopping point fixes 2021-07-04 08:19:10 +10:00
bugobliterator 086f184c36 AP_HAL_ChibiOS: allow embedded bootloader to be excluded
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2021-07-04 08:19:10 +10:00
Peter Barker d2c195b2a5 AP_Motors: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 4bdb245244 AP_Logger: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker ff91bca2e2 AP_LandingGear: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 131bec811a AP_InertialSensor: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker e76d78e8b3 AP_GPS: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 9340042e31 AP_BoardConfig: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 76d2cb7282 AP_Baro: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker fef68262ae AP_Arming: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 9690d78095 AP_ADSB: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker cc121b5b6d AC_Fence: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker fbd93bd535 AC_Avoidance: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 0c271e8d06 AC_AutoTune: remove @Values from param metadata where @Bitmask exists 2021-07-04 08:19:10 +10:00
Peter Barker 2712556fca RC_Channel: add rc channel option to disable all airspeed sensors 2021-07-04 08:19:10 +10:00
Peter Barker 6d91950d4e AP_Airspeed: add rc channel option to disable all airspeed sensors 2021-07-04 08:19:10 +10:00
Paul Riseborough 28a55e8478 AP_NavEKF3: Remove unused class variable rngBcnTimeout 2021-07-04 08:19:10 +10:00
Paul Riseborough 18e949d035 AP_NavEKF3: Ensure postion timeout flag and timer is always reset 2021-07-04 08:19:10 +10:00
Paul Riseborough 43e84c4061 AP_NavEKF3: Fade each vert vel variance clip count over 1 second 2021-07-04 08:19:10 +10:00
Paul Riseborough 7bd944ef3e AP_NavEKF3: Clean up initialisation of boolean array 2021-07-04 08:19:10 +10:00
Paul Riseborough 4b88b2ccec AP_NavEKF3: Remove unwanted line 2021-07-04 08:19:10 +10:00
Paul Riseborough 2565f3917c AP_NavEKF3: Protect against collapse of velocity and position variances 2021-07-04 08:19:10 +10:00
Paul Riseborough e5c34172c1 AP_NavEKF3: Fix bug preventing horizontal position reset if badIMUdata 2021-07-04 08:19:10 +10:00
Paul Riseborough 2161e59369 AP_NavEKF3: Fix bug preventing height reset if badIMUdata 2021-07-04 08:19:10 +10:00
Paul Riseborough 5a793e77c2 AP_NavEKF3: Fix bug preventing velocity reset if badIMUdata 2021-07-04 08:19:10 +10:00
Leonard Hall b73182db3c AC_AttitudeControl: AC_PosControl: change force_descend to ignore_descent_limit 2021-07-04 08:19:10 +10:00
Tatsuya Yamaguchi 7c939c5c00 RC_Channel: add const in member functions 2021-07-04 08:19:10 +10:00
Tatsuya Yamaguchi 14719826c8 AP_Arming: add flight mode conflict check 2021-07-04 08:19:10 +10:00
Tatsuya Yamaguchi 956f7d5e30 RC_Channel: add flight mode conflict check 2021-07-04 08:19:10 +10:00
Leonard Hall 20158ddf5f AC_AttitudeControl:AC_PosControl: vibration failsafe fix 2021-07-04 08:19:10 +10:00
CallanDaniel 16f7348f96 AP_AHRS: add semaphore around set_home()
added semaphore around set_home() to avoid thread racing
2021-07-04 08:19:10 +10:00
CallanDaniel d1a228b086 AP_Scripting: add get_origin and set_home bindings
added bindings and example scripts for set_home and get_origin
2021-07-04 08:19:10 +10:00
Josh Henderson c881fac1de AP_NavEKF3: Fix #17789 core's ekf origin altitude different if flying 2021-07-04 08:19:10 +10:00
Josh Henderson 678fe0480a AP_NavEKF2: Fix #17789 core's EKF origin altitude different if flying 2021-07-04 08:19:10 +10:00
Josh Henderson b85afc0adc AP_NavEKF3: non_GPS modes ensure EKF origin set only once and stays in sync
ekf3
2021-07-04 08:19:10 +10:00
Josh Henderson 4e119ddeec AP_NavEKF2: non_GPS modes ensure EKF origin set only once and stays in sync
ekf2
2021-07-04 08:19:10 +10:00
Michael du Breuil ebab492700 AP_RangeFinder: Rearrange parameters to reduce memory usage
Saves 4 bytes per instance, and with 10 instances this gives us an extra
40 bytes of RAM
2021-07-04 08:19:10 +10:00
Michael du Breuil 2b6c9b931c AP_BattMonitor: Rearrange battery parameters to reduce memory usage
Saves 8 bytes per Params instance, which we have 9 of on every vehicle,
for a total saving of 72 bytes
2021-07-04 08:19:10 +10:00
Michael du Breuil 9e989bfd44 AP_Mission: Cleanup the header to reduce flash cost
Removes unneeded set's of memory that is already zero'd. It also changes
_flags to be all bool to match the actual usage, and removes the width
specifiers from them. This increases the RAM cost of AP_Mission by 4
bytes, but saves on flash. The RAM cost was eliminated by rearranging
members.
2021-07-04 08:19:10 +10:00
Michael du Breuil b2d2c6db69 AP_Airspeed: Remove unneeded initilization
We pre zero all memory
2021-07-04 08:19:10 +10:00
Andy Piper 9c7e2f5914 AP_HAL_ChibiOS: add 1Hz update_channel_masks()
Send dshot commands in update function
2021-07-04 08:19:10 +10:00
Andy Piper 32b172669c SRV_Channel: call rcout->update_channel_masks() at 1Hz 2021-07-04 08:19:10 +10:00
Andy Piper 6e35b458c5 AP_Arming: remove call to rcout->prepare_for_arming() 2021-07-04 08:19:10 +10:00
Andy Piper c995ff1452 AP_HAL: add 1Hz update_channel_masks() 2021-07-04 08:19:10 +10:00
Nicola Grossenbacher 37b6233d94 AP_Compass: added probe method for MMC3416 compass 2021-07-04 08:19:10 +10:00
Iampete1 712e3afd21 AP_BattMoniter: log in Ah and Wh, add percentage to log 2021-07-04 08:19:10 +10:00
Iampete1 c5dba34e4c AP_Logger: add Wh units 2021-07-04 08:19:10 +10:00
Iampete1 be1cca1368 AP_BatteryMoniter: fix mah to wah conversion 2021-07-04 08:19:10 +10:00
Pierre Kancir ba4634a775 AP_Common: add more unitttests 2021-07-04 08:19:10 +10:00
Peter Barker b7c2b56a66 AP_Motors: tidy frame description strings
Before: AP: Frame: TRI/
After: AP: Frame: TRI
2021-07-04 08:19:10 +10:00
Leonard Hall 32a174c453 AC_WPNav: AC_Loiter: Remove extra accel limit 2021-07-04 08:19:10 +10:00
Leonard Hall ab8f3c21ec AC_AttitudeControl: AC_PosControl: Remove extra accel limit 2021-07-04 08:19:10 +10:00
Peter Barker bf8f327938 SITL: increase servo_filter array size
used for plane-dspoiler frame
2021-07-04 08:19:10 +10:00
Peter Barker 15c39ecf69 SITL: panic if we attempt to filter out-of-range servo index 2021-07-04 08:19:10 +10:00
Peter Hall 1597ca9464 AP_Scripting: update 6DoF mixer example 2021-07-04 08:19:10 +10:00
Peter Hall 5a1fdf9f78 AC_AttitudeControl: add thrust vector methods to 6DoF multi 2021-07-04 08:19:10 +10:00
Leonard Hall 0bdeda215f AP_Motors: correct expo parameter description and internal limits 2021-07-04 08:19:10 +10:00
Peter Barker 8d9d3ca437 GCS_MAVLink: add support for MAV_CMD_RUN_PREARM_CHECKS 2021-07-04 08:19:10 +10:00
Pierre Kancir 6c3bae10ed AP_Common: add more unit tests 2021-07-04 08:19:10 +10:00
Randy Mackay a9717ea5ff AC_WPNav: move get_yaw lower in AC_WPNav.h
this is a non-functional change
2021-07-04 08:19:10 +10:00
Peter Barker f8646af2b1 Tools: add follow-copter.sh for SITL
Another copy of this script -  but this one doesn't need Morse or AirSim
2021-07-04 08:19:10 +10:00
Andy Piper f09b01c5ad AP_HAL_ChibiOS: add OREO support to CubeSolo.
add back RunCam and Spektrum support to MatekF405-Wing
remove gripper support from MatekF405-Wing
2021-07-04 08:19:10 +10:00
Andy Piper 69ef1e5058 AP_Notify: allow display and oreo leds to be disabled 2021-07-04 08:19:10 +10:00
giacomo892 70a66ddad2 AP_SmartAudio: Add pull down VTX option 2021-07-04 08:19:10 +10:00
giacomo892 41c5f35699 AP_VideoTX: Add pull down VTX option 2021-07-04 08:19:10 +10:00
giacomo892 b6b329d668 AP_SmartAudio: Remove useless variable and comment 2021-07-04 08:19:10 +10:00
giacomo892 ad69ba2f6c AP_VideoTX: Add band names to GCS 2021-07-04 08:19:10 +10:00
giacomo892 f7e66c44c9 AP_VideoTX: Add configuration_finished functions 2021-07-04 08:19:10 +10:00
giacomo892 06a1442ec6 AP_SmartAudio: Add configuration_finished and configuration_pending functions 2021-07-04 08:19:10 +10:00
giacomo892 e8085fac97 AP_OSD_Screen: Blink the OSD VTX Power element indicating configuration in progress 2021-07-04 08:19:10 +10:00
Tatsuya Yamaguchi 9114caf213 AP_Proximity: fix proximity status for upward facing rangefinder 2021-07-04 08:19:10 +10:00
Randy Mackay dbc9b0c2f9 AC_Loiter: init brake_accel and fix brake timer type 2021-07-04 08:19:10 +10:00
Tatsuya Yamaguchi 7335e4640f AR_WPNav: add WP_PIVOT_DELAY parameter 2021-07-04 08:19:10 +10:00
Peter Barker 8fbd9b5e40 AP_Compass: remove unused setup_earth_field 2021-07-04 08:19:10 +10:00
Peter Barker 43cce260a0 GCS_MAVLink: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker fd8eb3c6c0 AP_InertialSensor: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 3a8d3c38e7 AP_HAL: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 2ff4ec80ad AP_GPS: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 76aa7c485c AP_Compass: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 759c37271a AP_Baro: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 77718b1611 AP_Airspeed: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 1122642f50 AP_AHRS: remove HIL support 2021-07-04 08:19:10 +10:00
Peter Barker 42c47d6d84 AP_BattMonitor: add cells 13 and 14 for SITL only
Allows for testing higher-cell-count scenarios
2021-07-04 08:19:10 +10:00
Peter Barker 023c84f84a AP_BattMonitor: add assertion to avoid memory over-read 2021-07-04 08:19:10 +10:00
Peter Barker 170062804f SITL: add accessor for battery voltage 2021-07-04 08:19:10 +10:00
Peter Barker 6c473a80c2 SITL: add maxell to i2c bus and make it 14-cells 2021-07-04 08:19:10 +10:00
Peter Barker cbd6dd3887 AP_BattMonitor: switch to Log_Write for BCL2
Just for the flash savings on smaller boards
2021-07-04 08:19:10 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 222ef40321 AP_BattMonitor: Increase the max. nr. of supported battery cells from 12 to 14
Uses a second message, because the original message does not support any more fields
2021-07-04 08:19:10 +10:00
Iampete1 06e64b5585 AP_Scripting: add SN-GCJA5 particle sensor example 2021-07-04 08:19:10 +10:00
Peter Barker 3101b08489 GCS_MAVLink: correct decimation of SENSOR_STATUS message
static infers shared between all backends
2021-07-04 08:19:10 +10:00
Rishabh 36259bc195 AC_PrecLand: Use rotate_xy instead of matrix multiplication 2021-07-04 08:19:10 +10:00
Rishabh 7528d6ee7e AC_PrecLand: Account for vertical camera offset in alt calculations 2021-07-04 08:19:10 +10:00
Rishabh f7cbdb5559 AC_PrecLand: Initialize EKF before using its output 2021-07-04 08:19:10 +10:00
murata d32bce85d1 AP_Scheduler: Change the Task Performance Notification Level to Information 2021-07-04 08:19:10 +10:00
Josh Henderson 32359e209d AP_Math: SCurve check direction.length_squared is_zero 2021-07-04 08:19:10 +10:00
Peter Barker 5c9467044b AP_HAL_ChibiOS: fix infinite loop for large SPI transfers
len is 32 bits; i may integer-wrap back to zero at 65535+1
2021-07-04 08:19:10 +10:00
Hwurzburg 1f8170a47d AP_Vehicle: add QRTL always as Q_RTL_MODE option 2021-07-04 08:19:10 +10:00
Andrew Tridgell 217a1acd7d HAL_ChibiOS: fixed build of VRUBrain-v51
overflowing flash
2021-06-24 18:03:40 +10:00
Andrew Tridgell fcbb8647b5 AP_Logging: update EKF while waiting for log open
this prevents the EKF getting unhappy when we arm
2021-06-24 18:03:24 +10:00
Andy Piper eea2151774 AP_BattMonitor: zero consumption total before recalculating
add reset function to ESC backend.
2021-06-24 18:02:10 +10:00
Samuel Tabor 534b807e22 AP_HAL_ChibiOS: Restore soaring on F405-Wing board. 2021-06-24 18:01:53 +10:00
Peter Barker 357770deba AP_Logger: rearrange PrepForArming stuff 2021-06-24 18:01:38 +10:00
Andrew Tridgell a1f8d4c79c AP_Logger: moved log file open to logger thread
this prevents a watchdog if the filesystem takes a long time to
respond to a file open
2021-06-24 18:01:32 +10:00
Andrew Tridgell 1106b39d46 AP_Filesystem: removed the 3s grace period for file ops when armed
log file open now needs to happen in the logging thread
2021-06-24 18:01:29 +10:00
Andy Piper 132b651968 AP_HAL_ChibiOS: make sure all MatekF405 bi-dir outputs get a DMA channel
only allow (b)dshot on M1-4 to get full DMA on USART3 and UART4
2021-06-24 18:01:17 +10:00
Peter Barker ce4ca0ac08 AP_InternalError: specify size for error_t 2021-06-13 08:41:25 +10:00
Andrew Tridgell f19b604a0c AP_Math: added xy() method on Vector3
useful for getting xy length
2021-06-13 07:50:02 +10:00
Peter Barker d9e3526bd2 AP_HAL_SITL: correct compilation for mission pread/pwrite ret check 2021-06-12 16:02:51 +10:00
Rishabh 9a1a748348 AC_Avoid: Change ALT_MIN param to be copter only 2021-06-12 13:31:52 +09:00
Rishabh b9fbf1a661 AP_Math: Update segment_to_segment_dis test 2021-06-12 13:31:52 +09:00
Rishabh 730cf0ad9b AC_Avoid: Add deadzone param to avoidance backaway 2021-06-12 13:31:52 +09:00
Rishabh b301bd0ca4 AC_Avoid: Use plane intersection in prox stop mode 2021-06-12 13:31:52 +09:00
Rishabh 547f0efd57 AP_Math: Add segment to plane intersection function 2021-06-12 13:31:52 +09:00
Rishabh cb911a01e2 AP_Prox: Add plane intersection code to closest_point_from_segment_to_obstacle 2021-06-12 13:31:52 +09:00
Josh Henderson 206a414553 AP_Common: Location vec3 constructor zero out fields 2021-06-12 10:52:36 +09:00
Pierre Kancir d2278fb525 AP_AHRS: NavEKF: make set_origin and get_origin WARN_IF_UNUSED as base class 2021-06-12 00:01:23 +10:00
Pierre Kancir 1fdef751ad AP_Navigation: make crosstrack_error_integrator pure virtual as nobody use the base class 2021-06-11 04:59:06 -07:00
Tamas Nepusz c544f3dd01 AP_Scheduler: corrected tick counter overflow handling, fixes #17642 2021-06-10 12:46:27 +10:00
Pierre Kancir ba94d8839f AP_Common: Make location PANIC message more explicit 2021-06-10 11:37:10 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d363cbadcc AP_HAL_ChibiOS: Disable un-needed hardware drivers in SkyViper builds
these boards have integrated ESCs with no telemetry
2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 8593672f4c AP_HAL_ChibiOS: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 2d5ac0009a AP_OSD: Fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas ff200e9d11 AP_UAVCAN: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 9d2790049f AP_ToshibaCAN: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas d15042d7c0 AP_PiccoloCAN: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas f4409066bc AP_KDECAN: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 120081f7ab AP_BLHeli: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas 13a97eecd4 AP_ESC_Telem: fix compilation when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Dr.-Ing. Amilcar do Carmo Lucas bb9a81d32e AP_ESC_Telem: dummy empty class to be used when HAL_WITH_ESC_TELEM == 0 2021-06-09 21:42:51 +10:00
Peter Barker 6a914ce4be AP_VisualOdom: do not build on 1MB boards
master: bin/arduplane  978396  1956  129204  1109556
new   : bin/arduplane  971716  1956  129204  1102876
2021-06-09 20:12:44 +09:00
bugobliterator 63b8733aab AP_CANManager: add support for multiple protocols on AP_Periph using CANSensor 2021-06-09 18:36:18 +10:00
Tom Pittenger 5e4efe9f57 AP_ToshibaCAN: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger 96055e877b AP_PiccoloCAN: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger c833a71fff AP_KDECAN: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger 4054b5e891 AP_HAL_Linux: AP::can().log_text() needs HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger c807035e02 AP_UAVCAN: use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger aec9d45573 AP_HAL_SITL: use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger 7a004656a2 AP_HAL_ChibiOS: use HAL_ENABLE_LIBUAVCAN_DRIVERS instead of HAL_MAX_CAN_PROTOCOL_DRIVERS 2021-06-09 18:36:18 +10:00
Tom Pittenger 1feec460c4 AP_HAL_ChibiOS: enable BattMon MPPT PacketDigital to CubeOrange-periph 2021-06-09 18:36:18 +10:00