flipper.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "flipper.h"
  2. #include <applications.h>
  3. #include <furi.h>
  4. #include <version.h>
  5. #include <api-hal-version.h>
  6. static void flipper_print_version(const Version* version) {
  7. if(version) {
  8. printf("\tVersion:\t%s\r\n", version_get_version(version));
  9. printf("\tBuild date:\t%s\r\n", version_get_builddate(version));
  10. printf(
  11. "\tGit Commit:\t%s (%s)\r\n",
  12. version_get_githash(version),
  13. version_get_gitbranchnum(version));
  14. printf("\tGit Branch:\t%s\r\n", version_get_gitbranch(version));
  15. } else {
  16. printf("\tNo build info\r\n");
  17. }
  18. }
  19. void flipper_init() {
  20. const Version* version;
  21. version = (const Version*)api_hal_version_get_boot_version();
  22. printf("Bootloader\r\n");
  23. flipper_print_version(version);
  24. version = (const Version*)api_hal_version_get_fw_version();
  25. printf("Firmware\r\n");
  26. flipper_print_version(version);
  27. printf("[flipper] starting services\r\n");
  28. for(size_t i = 0; i < FLIPPER_SERVICES_COUNT; i++) {
  29. printf("[flipper] starting service %s\r\n", FLIPPER_SERVICES[i].name);
  30. FuriThread* thread = furi_thread_alloc();
  31. furi_thread_set_name(thread, FLIPPER_SERVICES[i].name);
  32. furi_thread_set_stack_size(thread, FLIPPER_SERVICES[i].stack_size);
  33. furi_thread_set_callback(thread, FLIPPER_SERVICES[i].app);
  34. furi_thread_start(thread);
  35. }
  36. printf("[flipper] services startup complete\r\n");
  37. }