FreeCalypso > hg > fc-tourmaline
view helpers/build-date.c @ 280:82665effff30
keypad boot init overhaul: handle initially held-down keys
This change fixes two previous behavioural defects:
1) On Compal phones, the PWR key had to be released before the boot
sequence would proceed at all - it was stuck in an endless IRQ loop
at the point of Nucleus enabling interrupts, before anything else.
2) On both Compal and sane platforms including Luna, if some regular
non-PWR key was held down at boot time, the boot sequence would
proceed and complete normally, but all non-PWR keypad buttons would
be dead for the remainder of that boot cycle.
The fix is a generic solution - no Compal-specific hack ended up being
needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 00:47:12 +0000 |
parents | 775dba605f33 |
children |
line wrap: on
line source
/* * This program runs at firmware build time to produce a C file for the * fw build that includes the build date and time stamp. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <time.h> main(argc, argv) char **argv; { time_t now; struct tm *tm; if (argc < 2 || argc > 4) { fprintf(stderr, "usage: %s config_name target_name src_version\n", argv[0]); exit(1); } time(&now); tm = gmtime(&now); printf("const char firmware_version_str[] =\n"); if (argc >= 3) printf("\"FreeCalypso Tourmaline %s (%s), ", argv[1], argv[2]); else printf("\"FreeCalypso Tourmaline %s, ", argv[1]); if (argc >= 4 && strcmp(argv[3], "unknown")) printf("source version %s, ", argv[3]); printf("build date %d-%02d-%02dT%02d:%02d:%02dZ\";\n", tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); exit(0); }