Increasd io stream buffers:
- 64kB for big files with short lifetime scope
- 16kB for big files with long lifetime scope
- 1kB - dont changes default forr the rest
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
During every power on Database initialization, each DB is populated
with mock data. Used PRAGMA application_id to indicate that DB is
initialized at first run.
QueryResult iterator nextRow() may get into infinite loop.
Additionally, fixed handling of the case when each row of result
could have a different count of fields.
Wall mechanism is not needed due to the littlefs
fail proofs safety. It causes a lot of troubles
in the frame recovery and unnessesry increases
io bandwidth
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
VFAT partition should be mounted in RO mode by default
because writing to FAT filesystem is unsafe.
Writing is allowed only in the LFS filesystem.
If upgrade is needed FAT partition can be temporary
switched to RW mode using mount() syscall with REMOUNT flag
but it should be switched to RO mode again after upgrade.
Due to vfs deprecation there is need to remove all vfs calls from code. This PR covers module gui. There are some modifications in other modules included which are necessary because of build system issues.
Fix for unexcepted power failure by adding new implemented
function ff_fflush.
Improve write interface to complies with Linux lseek syscall.
Linux lseek syscall allows to lseek outsite the file size.
When write if lseek is out of range, write syscall write data to new
offset and fill the gap with zeros.
Free RTOS-FAT behaviour doesn't support sparse files, so we need
to implement this functionality manually on the sqlite3 vfs inteface
layer.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
* VFS: support .boot.ini and "current" and "previous" os types
* fixes for first batch of comments
- moved crc32 functions to a seperate file
- changed naming of constant with _
- removed one magic number
- crc methods now cross platform
* using smart pointer for buffer management
* created a simple USER_FILE macro for database names
* removed commented-out code
* style fixes
* Updated crc32 version
* Update module-vfs/vfs-utils.cpp
Co-Authored-By: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* Update module-vfs/vfs-utils.cpp
Co-Authored-By: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* renamed USER_FILE to USER_PATH macro, this was also
bromen and was returning incorrect paths, std::filesystem::path
behavior is causing these issues.
* VFS: remove method changed
* fixed path for assets copy
* UNITTEST: vfs test fixed
* VFS: changed computeCRC32 return type to void
* Max supported partition to 2 (was 1)
* EOL in vfs.cpp
* nullptr check in computeCRC32
include for log.hpp fixed
* flash_eMMC merged properly
* CRC32 commit update
* testBuild
* fix newline at start of smsdb.cpp
removed test from cmake
* no user/ folder on the root of emmc causes sqlite3 to fault
this adds a create empty user call for rt1051
* flash script fixes
- do not use build-*/sys
- common.sh contains a static list of iles that land on the flash
Co-authored-by: Alek Rudnik <54846206+alekrudnik@users.noreply.github.com>
* [EGD-2513] new API to create temparary contact entry if cannot be found
Calllog should search for contact.
* [EGD-2513] #pragma once in all headers file in module-db
* [EGD-2513] new constructor for CalllogRecord
* [EGD-2513] contact recognition for calllog DB API
* [EGD-2513] clean up
* [EGD-2513] displaying name and surname call and calllog
* [EGD-2513] enum instead bool
* [EGD-2513] fix in remporary contact creation
* [fix][EGD-2513] missing c_str
* [fix][EGD-2513] minor fixes in documentation
* [EGD-2513] unified entry read state for both sms and calllog dbs
* [EGD-2513] calllog db documentation
* [EGD-2513] code reviex fixed in ContactRecord