Skip to content

Commit 8193e57

Browse files
committed
FlashIdInfo: add URL api (with fdb version 75)
1 parent 4960841 commit 8193e57

File tree

4 files changed

+266
-423
lines changed

4 files changed

+266
-423
lines changed

FDBGen/src/iTXTech/FlashDetector/FDBGen/Generator/JMicron.php

Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -27,65 +27,69 @@
2727
use iTXTech\FlashDetector\Fdb\Fdb;
2828
use iTXTech\SimpleFramework\Util\StringUtil;
2929

30-
class JMicron extends Generator{
31-
public static function getDirName() : string{
30+
class JMicron extends Generator {
31+
public static function getDirName(): string {
3232
return "jm";
3333
}
3434

35-
public static function merge(Fdb $fdb, string $data, string $filename) : void{
35+
public static function merge(Fdb $fdb, string $data, string $filename): void {
3636
self::mergeInternal($fdb, $data, $filename, "JMF");
3737
}
3838

39-
protected static function mergeInternal(Fdb $fdb, string $data, string $filename, string $prefix) : void{
40-
$controller = $prefix . explode("_", $filename)[0];
39+
protected static function mergeInternal(Fdb $fdb, string $data, string $filename, string $prefix, bool $usePartNumber = true, bool $ignoreSanDisk = false): void {
40+
$controller = strtoupper($prefix . explode("_", $filename)[0]);
4141
$data = parse_ini_string($data, true);
4242
$fdb->getInfo()->addController($controller);
43-
foreach($data as $vendor => $flashes){
43+
foreach($data as $vendor => $flashes) {
4444
$vendor = str_replace(["hynix"], ["skhynix"], strtolower($vendor));
45-
if(in_array($vendor, ["version", "vendor"])){
45+
if(in_array($vendor, ["version", "vendor"])) {
4646
continue;
4747
}
48-
foreach($flashes as $flash){
48+
foreach($flashes as $flash) {
4949
$info = explode(" ", $flash);
5050
$id = "";
51-
foreach($info as $k => $v){
52-
if($v === ""){
51+
foreach($info as $k => $v) {
52+
if($v === "") {
5353
unset($info[$k]);
54-
}else{
54+
} else {
5555
$v = trim($v);
5656
$info[$k] = $v;
5757
}
58-
if(strlen($v) == 4 and StringUtil::startsWith($v, "0x")){
58+
if(strlen($v) == 4 and StringUtil::startsWith($v, "0x")) {
5959
$id .= substr($v, 2, 2);
6060
}
6161
}
6262
$info = array_values($info);
63-
if($id === str_repeat("0", strlen($id))){
63+
if($id === str_repeat("0", strlen($id))) {
6464
continue;
6565
}
6666
$pn = trim($info[1]);
6767

68-
switch($vendor){
69-
case "sandisk":
70-
$pn = substr_replace($pn, "-", strpos($pn, "0"), 0);
71-
break;
72-
case "toshiba":
73-
if(strlen($pn) > 15){
74-
$pn = substr($pn, 0, 15);
75-
}
76-
break;
77-
case "micron":
78-
$pn = Micron::removePackage($pn);
79-
break;
80-
case "skhynix":
81-
$pn = SKHynix::removePackage($pn);
82-
break;
83-
}
68+
if($usePartNumber && !($vendor == "sandisk" and $ignoreSanDisk)) {
69+
switch($vendor) {
70+
case "sandisk":
71+
$pn = substr_replace($pn, "-", strpos($pn, "0"), 0);
72+
break;
73+
case "toshiba":
74+
if(strlen($pn) > 15) {
75+
$pn = substr($pn, 0, 15);
76+
}
77+
break;
78+
case "micron":
79+
$pn = Micron::removePackage($pn);
80+
break;
81+
case "skhynix":
82+
$pn = SKHynix::removePackage($pn);
83+
break;
84+
}
8485

85-
$partNumber = $fdb->getPartNumber($vendor, $pn, true)
86-
->addController($controller);
87-
if(strlen($id) == 12){
88-
$partNumber->addFlashId($id);
86+
$partNumber = $fdb->getPartNumber($vendor, $pn, true)
87+
->addController($controller);
88+
}
89+
if(strlen($id) == 12) {
90+
if(isset($partNumber)) {
91+
$partNumber->addFlashId($id);
92+
}
8993
$fdb->getIddb()->getFlashId($id, true)->addController($controller);
9094
}
9195
}

FDBGen/src/iTXTech/FlashDetector/FDBGen/Generator/Maxio.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,18 @@
2323
namespace iTXTech\FlashDetector\FDBGen\Generator;
2424

2525
use iTXTech\FlashDetector\Fdb\Fdb;
26+
use iTXTech\SimpleFramework\Util\StringUtil;
2627

27-
class Maxio extends JMicron{
28-
public static function getDirName() : string{
29-
return "mas";
28+
class Maxio extends JMicron {
29+
public static function getDirName(): string {
30+
return "ma";
3031
}
3132

32-
public static function merge(Fdb $fdb, string $data, string $filename) : void{
33-
self::mergeInternal($fdb, $data, $filename, "MAS");
33+
public static function merge(Fdb $fdb, string $data, string $filename): void {
34+
if (StringUtil::startsWith($filename, "map")) {
35+
self::mergeInternal($fdb, $data, $filename, "", false, true);
36+
} else {
37+
self::mergeInternal($fdb, $data, $filename, "", true, true);
38+
}
3439
}
3540
}

0 commit comments

Comments
 (0)