mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-24 08:45:10 +03:00
* WIP compile examples on host with 'make examples' * WIP bufferize tcp input * WIP Makefile * WIP network to rework, tcp/udp to factorize, udp addresses broken * minor changes to the core * WIP basic udp working * WIP mdns * WIP mcast receiving, not sending * WIP mdns OK * beta version * SSL + doc * update travis host test command * licenses * typo * doc: arduino builder is not around: declare functions before calling them * fix with latest SSL PR, compile in 32 bits mode * fix make clean * make -m32 optional * 32bits compiler ability tester * WIP * WIP (fix 1 vtable error, still another one to hunt with using spiffs) * example astyle * fix os_printf_plus * load / save mock spiffs * fix style * fix using spiffs/mock * don't mess ram * update doc * remove leftover * optimization -Os except for CI, rename ARCH32 to FORCE32 * revert useless cast (not even compiled) * remove unused function * use proper type for pointer arithmetics * makefile: sketch object and cpp file moved to bin/ directories easier to clean, and IDE don't like them * changes for review * make use of %zd * less verbose makefile by default (option) * update readme
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
/*
|
|
spiffs_mock.h - SPIFFS HAL mock for host side testing
|
|
Copyright © 2016 Ivan Grokhotkov
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
*/
|
|
|
|
#ifndef spiffs_mock_hpp
|
|
#define spiffs_mock_hpp
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
#include <vector>
|
|
#include <FS.h>
|
|
|
|
#define DEFAULT_SPIFFS_FILE_NAME "spiffs.bin"
|
|
|
|
class SpiffsMock {
|
|
public:
|
|
SpiffsMock(size_t fs_size, size_t fs_block, size_t fs_page, bool storage = true);
|
|
void reset();
|
|
~SpiffsMock();
|
|
|
|
protected:
|
|
void load ();
|
|
void save ();
|
|
|
|
// it was a vector, but CI tests & valgrind complain with:
|
|
// Syscall param write(buf) points to uninitialised byte(s)
|
|
// by 0x43E9FF: SpiffsMock::save() (spiffs_mock.cpp:116)
|
|
// = if (::write(fs, &m_fs[0], m_fs_size) != (ssize_t)m_fs_size)
|
|
// so switched to a regular array
|
|
// and that bug is still here
|
|
// XXXWIPTODO
|
|
|
|
uint8_t* m_fs;
|
|
size_t m_fs_size;
|
|
bool m_storage;
|
|
};
|
|
|
|
#define SPIFFS_MOCK_DECLARE(size_kb, block_kb, page_b, storage) SpiffsMock spiffs_mock(size_kb * 1024, block_kb * 1024, page_b, storage)
|
|
#define SPIFFS_MOCK_RESET() spiffs_mock.reset()
|
|
|
|
|
|
#endif /* spiffs_mock_hpp */
|