view src/cs/drivers/drv_app/ffs/board/mkeffs.pl @ 263:b5e8dfd114a7

Switch_ON(): go into charging boot mode on either CHGSTS or CHGPRES If someone were to plug and then unplug a charger into a switched-off phone in an extremely brief "glitch" manner, we should do an automatic power-off on boot in this condition. When we were checking only CHGPRES in Switch_ON(), we would go into Misc boot state instead, which is undesirable. Now if we have a CHGSTS but not CHGPRES condition, we will go into charging boot mode, and FCBM will then do the automatic power-off upon detecting absence of the charger in its periodic polling.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 14 May 2021 05:50:36 +0000
parents 4e78acac3d88
children
line wrap: on
line source

#!/usr/bin/perl -w

if ($#ARGV < 0) { die "Must give argument 'c' or 'pl'"; }

$c = ($ARGV[0] eq "c");
shift;

$c && c_begin();
!$c && pl_begin();

while (<>) {
    chop;
    if (/^\s*(EFFS_\w+)\s*=\s*(-?[0-9]+),\s*\/\* (.*) \*\//) {
	$name = $1;
	$code = $2;
	$text = $3;
	$c  && print "    case $name: return \"$text\"; /* $code */\n";
	!$c && print "\$$name = $code;\n";
	!$c && print "\$FFS_ERRORSTR{$code} = \"$text\";\n";
    }
}

$c && c_end();
!$c && pl_end();


sub c_begin
{
    print "/* This file is autogenerated --- do not edit. */\n\n";
    
    print "#include \"ffs/ffs.h\"\n\n";
    
    print "char *ffs_strerror(effs_t error)\n";
    print "{\n";
    print "    switch (error) {\n";
}

sub c_end
{
    print "    default: return \"unknown ffs error code!\";\n";
    print "    }\n";
    print "}\n";
}

sub pl_begin
{
    print "# This file is autogenerated --- do not edit.\n\n";
}

sub pl_end
{
}