blob: 90fa5c78c391c1cecd1ffdabbef9f6856dbcbf65 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#!/usr/bin/perl
2#
3# Copyright Statement:
4# --------------------
5# This software is protected by Copyright and the information contained
6# herein is confidential. The software may not be copied and the information
7# contained herein may not be used or disclosed except with the written
8# permission of MediaTek Inc. (C) 2005
9#
10# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
11# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
12# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
13# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
14# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
15# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
16# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
17# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
18# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
19# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
20# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
21# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
22#
23# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
24# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
25# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
26# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
27# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
28#
29# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
30# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
31# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
32# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
33# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
34#
35#
36#*****************************************************************************
37#*
38#* Filename:
39#* ---------
40#* gps_config.pl
41#*
42#* Project:
43#* --------
44#* Maui_Software
45#*
46#* Description:
47#* ------------
48#*
49#*------------------------------------------------------------------------------
50#* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
51#*============================================================================
52#****************************************************************************/
53
54#****************************************************************************
55# parsing command arguments
56#****************************************************************************
57
58#$file="custom\\drv\\gps\\EVEN6228_DEMO_BB\\gpsmtk_config.c"; # Need Modify: Input from @ mcu\custom\drv\gps\EVEN6228_DEMO_BB\gpsmtk_config.c
59#$gps_ini="build\\EVEN6228_DEMO\\EVEN6228_DEMO_PCB04_gprs_MT6228_S02.MAUI_W07_40.bin\\GPS\\gps.ini"; # Need Modify: Output to @ mcu\build\EVEN6228_DEMO\$NFB\GPS\gps.ini
60
61$file=$ARGV[0];
62$gps_ini=$ARGV[1];
63
64@gps_gpio=("gpio_gps_power_pin",
65 "gpio_gps_reset_pin",
66 "gpio_gps_standby_pin",
67 "gpio_gps_32k_pin");
68
69open(GPS_CONFIG, $file) or die "$file cannot be opened!\r\n";
70
71print "Open $file!\r\n\r\n";
72
73sub GetDefineValue {
74 my ($line) = $_[0];
75 my ($pattern) = $_[1];
76 my ($ret) = 0;
77 my ($value) = 0;
78 my (@result);
79
80 if($line =~ /^( |\t)*\#define( |\t)*$pattern/i){
81# print $line;
82# print "~~~~~~~~~~~~~>\r\n";
83
84 ($token1,$token2,$token3,$token4)=split(/\s+/,$line); # e.g. #define GPIO_GPS_POWER_PIN 1
85
86 if( $token2 =~ /$pattern/i ){
87 $ret = 1;
88 $value = $token3;
89 }
90 elsif( $token3 =~ /$pattern/i ){
91 $ret = 1;
92 $value = $token4;
93 }
94 else {
95 print "Cannot find $gps_power_pin !\r\n";
96 }
97
98# print "<~~~~~~~~~~~~~\r\n";
99 }
100
101 @result = ($ret, $value);
102 return @result;
103
104}
105
106open(GPS_INI, ">$gps_ini") or die "$gps_ini cannot be opened!";
107print GPS_INI "[GPIO]\r\n";
108close ($gps_ini);
109
110
111while($line = <GPS_CONFIG>) {
112
113 foreach $pattern (@gps_gpio){
114# $pattern = $gps_power_pin;
115 ($g_ret, $g_value) = GetDefineValue($line, $pattern);
116 if($g_ret){
117 $output="$pattern=$g_value\r\n";
118
119 open(GPS_INI, ">>$gps_ini") or die "$gps_ini cannot be opened!";
120 print GPS_INI $output;
121 close ($gps_ini);
122
123 print $output;
124 break;
125 }
126 }
127
128}
129
130
131close ($file);
132exit 0;
133