Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BSP_B-L475E-IOT01
Revision 0:e53ff6cb04fd, committed 2018-12-06
- Comitter:
- vicara
- Date:
- Thu Dec 06 17:49:10 2018 +0000
- Commit message:
- temperature once per minute
Changed in this revision
diff -r 000000000000 -r e53ff6cb04fd BSP_B-L475E-IOT01.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BSP_B-L475E-IOT01.lib Thu Dec 06 17:49:10 2018 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/ST/code/BSP_B-L475E-IOT01/#9dfa42666f03
diff -r 000000000000 -r e53ff6cb04fd main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Dec 06 17:49:10 2018 +0000
@@ -0,0 +1,121 @@
+#include "mbed.h"
+
+#include <stdio.h>
+#include <errno.h>
+
+// Block devices
+#if COMPONENT_SPIF
+#include "SPIFBlockDevice.h"
+#endif
+
+#if COMPONENT_DATAFLASH
+#include "DataFlashBlockDevice.h"
+#endif
+
+#if COMPONENT_SD
+#include "SDBlockDevice.h"
+#endif
+
+#include "HeapBlockDevice.h"
+
+// File systems
+#include "LittleFileSystem.h"
+#include "FATFileSystem.h"
+
+// Physical block device, can be any device that supports the BlockDevice API
+/*SPIFBlockDevice bd(
+ MBED_CONF_SPIF_DRIVER_SPI_MOSI,
+ MBED_CONF_SPIF_DRIVER_SPI_MISO,
+ MBED_CONF_SPIF_DRIVER_SPI_CLK,
+ MBED_CONF_SPIF_DRIVER_SPI_CS);*/
+
+#define BLOCK_SIZE 512
+HeapBlockDevice bd(16384, BLOCK_SIZE);
+#include "stm32l475e_iot01_tsensor.h"
+
+
+// File system declaration
+LittleFileSystem fs("fs");
+
+Ticker timeout_ticker;
+Thread t;
+
+static FILE *f;
+volatile int seconds_passed = 0;
+EventQueue queue(32 * EVENTS_EVENT_SIZE);
+
+void write_temperature_on_file() {
+ float temperature = 0;
+ temperature = BSP_TSENSOR_ReadTemp();
+ fprintf(f, "%f\n", temperature);
+ fflush(f);
+ fflush(stdout);
+ printf("New temperature stored in the file\n");
+}
+
+void print_temperature_from_file() {
+ printf("\n====== PRINTING TEMPERATURE RECORDED SO FAR ======\n");
+ int order = 1;
+ fflush(stdout);
+ fflush(f);
+ fseek(f, 0, SEEK_SET);
+ float value;
+ while (!feof(f)) {
+ fscanf(f, "%f", &value);
+ printf(" %d: %f\n", order, value);
+ order++;
+ }
+ fflush(stdout);
+ printf("\n");
+}
+
+InterruptIn button(USER_BUTTON);
+
+void toggle() {
+ queue.call(print_temperature_from_file);
+}
+
+void ticker_attach() {
+ queue.call(write_temperature_on_file);
+}
+
+int main(){
+ t.start(callback(&queue, &EventQueue::dispatch_forever));
+ BSP_TSENSOR_Init();
+ button.rise(&toggle);
+
+ // Try to mount the filesystem
+ printf("Mounting the filesystem... ");
+ fflush(stdout);
+ int err = fs.mount(&bd);
+ printf("%s\n", (err ? "Fail :(" : "OK"));
+ if (err) {
+ // Reformat if we can't mount the filesystem
+ // this should only happen on the first boot
+ printf("No filesystem found, formatting... ");
+ fflush(stdout);
+ err = fs.reformat(&bd);
+ printf("%s\n", (err ? "Fail :(" : "OK"));
+ if (err) {
+ error("error: %s (%d)\n", strerror(-err), err);
+ }
+ }
+
+ // Open the numbers file
+ printf("Opening \"/fs/numbers.txt\"... ");
+ fflush(stdout);
+ f = fopen("/fs/numbers.txt", "r+");
+ printf("%s\n", (!f ? "Fail :(" : "OK"));
+ if (!f) {
+ // Create the numbers file if it doesn't exist
+ printf("No file found, creating a new file... ");
+ fflush(stdout);
+ f = fopen("/fs/numbers.txt", "w+");
+ printf("%s\n", (!f ? "Fail :(" : "OK"));
+ if (!f) {
+ error("error: %s (%d)\n", strerror(errno), -errno);
+ }
+ }
+
+ timeout_ticker.attach(&ticker_attach, 60);
+}
\ No newline at end of file
diff -r 000000000000 -r e53ff6cb04fd mbed-os.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Thu Dec 06 17:49:10 2018 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#610e35ddc6d59f153173c1e7b2748cf96d6c9bcd