diff --git a/platforms/common/include/px4_platform_common/px4_mtd.h b/platforms/common/include/px4_platform_common/px4_mtd.h index 71d9e577ff..fa792e78c4 100644 --- a/platforms/common/include/px4_platform_common/px4_mtd.h +++ b/platforms/common/include/px4_platform_common/px4_mtd.h @@ -80,6 +80,11 @@ __EXPORT ssize_t px4_mtd_get_partition_size(const mtd_instance_s *instance, cons int px4_at24c_initialize(FAR struct i2c_master_s *dev, uint8_t address, FAR struct mtd_dev_s **mtd_dev); +/* + Update the page count of an already-initialised device. + */ +int px4_at24c_set_npages(FAR struct mtd_dev_s *dev, uint16_t npages); + void px4_at24c_deinitialize(void); int flexspi_attach(mtd_instance_s *instance); diff --git a/platforms/nuttx/src/px4/common/px4_24xxxx_mtd.c b/platforms/nuttx/src/px4/common/px4_24xxxx_mtd.c index 65e5794a96..8d4e725ae0 100644 --- a/platforms/nuttx/src/px4/common/px4_24xxxx_mtd.c +++ b/platforms/nuttx/src/px4/common/px4_24xxxx_mtd.c @@ -618,6 +618,13 @@ int px4_at24c_initialize(FAR struct i2c_master_s *dev, return 0; } +int px4_at24c_set_npages(FAR struct mtd_dev_s *dev, uint16_t npages) +{ + FAR struct at24c_dev_s *priv = (FAR struct at24c_dev_s *)dev; + priv->npages = npages; + return 0; +} + /* * XXX: debug hackery */