github.com/nya3jp/tast@v0.0.0-20230601000426-85c8e4d83a9b/src/go.chromium.org/tast/core/testing/cellularconst/cellularconst.go (about) 1 // Copyright 2023 The ChromiumOS Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Package cellularconst defines the constants for Cellular 6 // This package is defined under common/ as they might be used in both 7 // local and remote tests. 8 package cellularconst 9 10 import ( 11 "fmt" 12 13 "go.chromium.org/tast/core/errors" 14 ) 15 16 // ModemType is the type of modem used in a device. 17 type ModemType uint32 18 19 // Supported modem types. 20 const ( 21 ModemTypeUnknown ModemType = iota 22 ModemTypeL850 23 ModemTypeNL668 24 ModemTypeFM350 25 ModemTypeFM101 26 ModemTypeSC7180 // trogdor 27 ModemTypeSC7280 // herobrine 28 ) 29 30 func (e ModemType) String() string { 31 switch e { 32 case ModemTypeL850: 33 return "L850" 34 case ModemTypeNL668: 35 return "NL668" 36 case ModemTypeFM350: 37 return "FM350" 38 case ModemTypeFM101: 39 return "FM101" 40 case ModemTypeSC7180: 41 return "SC7180" 42 case ModemTypeSC7280: 43 return "SC7280" 44 default: 45 return fmt.Sprintf("%d", int(e)) 46 } 47 } 48 49 // DeviceInfo provides a mapping between variant and modem type. 50 type DeviceInfo struct { 51 ModemVariant string 52 Board string 53 Modem ModemType 54 } 55 56 var ( 57 // KnownVariants mapping between variant and modem type. 58 KnownVariants = map[string]DeviceInfo{ 59 "anahera_l850": {"anahera_l850", "brya", ModemTypeL850}, 60 "brya_fm350": {"brya_fm350", "brya", ModemTypeFM350}, 61 "brya_l850": {"brya_l850", "brya", ModemTypeL850}, 62 "crota_fm101": {"crota_fm101", "brya", ModemTypeFM101}, 63 "primus_l850": {"primus_l850", "brya", ModemTypeL850}, 64 "redrix_fm350": {"redrix_fm350", "brya", ModemTypeFM350}, 65 "redrix_l850": {"redrix_l850", "brya", ModemTypeL850}, 66 "vell_fm350": {"vell_fm350", "brya", ModemTypeFM350}, 67 "astronaut": {"astronaut", "coral", ModemTypeL850}, 68 "krabby_fm101": {"krabby_fm101", "corsola", ModemTypeFM101}, 69 "rusty_fm101": {"rusty_fm101", "corsola", ModemTypeFM101}, 70 "steelix_fm101": {"steelix_fm101", "corsola", ModemTypeFM101}, 71 "beadrix_nl668am": {"beadrix_nl668am", "dedede", ModemTypeNL668}, 72 "boten": {"boten", "dedede", ModemTypeL850}, 73 "bugzzy_l850gl": {"bugzzy_l850gl", "dedede", ModemTypeL850}, 74 "bugzzy_nl668am": {"bugzzy_nl668am", "dedede", ModemTypeNL668}, 75 "cret": {"cret", "dedede", ModemTypeL850}, 76 "drawper_l850gl": {"drawper_l850gl", "dedede", ModemTypeL850}, 77 "kracko_nl668am": {"kracko_nl668am", "dedede", ModemTypeNL668}, 78 "kracko_fm101_cat12": {"kracko_fm101_cat12", "dedede", ModemTypeFM101}, 79 "kracko_fm101_cat6": {"kracko_fm101_cat6", "dedede", ModemTypeFM101}, 80 "metaknight": {"metaknight", "dedede", ModemTypeL850}, 81 "sasuke": {"sasuke", "dedede", ModemTypeL850}, 82 "sasuke_nl668am": {"sasuke_nl668am", "dedede", ModemTypeNL668}, 83 "sasukette": {"sasukette", "dedede", ModemTypeL850}, 84 "storo360_l850gl": {"storo360_l850gl", "dedede", ModemTypeL850}, 85 "storo360_nl668am": {"storo360_nl668am", "dedede", ModemTypeNL668}, 86 "storo_l850gl": {"storo_l850gl", "dedede", ModemTypeL850}, 87 "storo_nl668am": {"storo_nl668am", "dedede", ModemTypeNL668}, 88 "guybrush360_l850": {"guybrush360_l850", "guybrush", ModemTypeL850}, 89 "guybrush_fm350": {"guybrush_fm350", "guybrush", ModemTypeFM350}, 90 "nipperkin": {"nipperkin", "guybrush", ModemTypeL850}, 91 "jinlon": {"jinlon", "hatch", ModemTypeL850}, 92 "evoker_sc7280": {"evoker_sc7280", "herobrine", ModemTypeSC7280}, 93 "herobrine_sc7280": {"herobrine_sc7280", "herobrine", ModemTypeSC7280}, 94 "hoglin_sc7280": {"hoglin_sc7280", "herobrine", ModemTypeSC7280}, 95 "piglin_sc7280": {"piglin_sc7280", "herobrine", ModemTypeSC7280}, 96 "villager_sc7280": {"villager_sc7280", "herobrine", ModemTypeSC7280}, 97 "zoglin_sc7280": {"zoglin_sc7280", "herobrine", ModemTypeSC7280}, 98 "zombie_sc7280": {"zombie_sc7280", "herobrine", ModemTypeSC7280}, 99 "gooey": {"gooey", "keeby", ModemTypeL850}, 100 "craask_fm101": {"craask_fm101", "nissa", ModemTypeFM101}, 101 "nivviks_fm101": {"nivviks_fm101", "nissa", ModemTypeFM101}, 102 "pujjo_fm101": {"pujjo_fm101", "nissa", ModemTypeFM101}, 103 "dood": {"dood", "octopus", ModemTypeL850}, 104 "droid": {"droid", "octopus", ModemTypeL850}, 105 "fleex": {"fleex", "octopus", ModemTypeL850}, 106 "garg": {"garg", "octopus", ModemTypeL850}, 107 "rex_fm101": {"rex_fm101", "rex", ModemTypeFM101}, 108 "rex_fm350": {"rex_fm350", "rex", ModemTypeFM350}, 109 "arcada": {"arcada", "sarien", ModemTypeL850}, 110 "sarien": {"sarien", "sarien", ModemTypeL850}, 111 "coachz": {"coachz", "strongbad", ModemTypeSC7180}, 112 "quackingstick": {"quackingstick", "strongbad", ModemTypeSC7180}, 113 "kingoftown": {"kingoftown", "trogdor", ModemTypeSC7180}, 114 "lazor": {"lazor", "trogdor", ModemTypeSC7180}, 115 "limozeen": {"limozeen", "trogdor", ModemTypeSC7180}, 116 "pazquel": {"pazquel", "trogdor", ModemTypeSC7180}, 117 "pazquel360": {"pazquel360", "trogdor", ModemTypeSC7180}, 118 "skyrim_fm101": {"skyrim_fm101", "skyrim", ModemTypeFM101}, 119 "vilboz": {"vilboz", "zork", ModemTypeNL668}, 120 "vilboz360": {"vilboz360", "zork", ModemTypeL850}, 121 } 122 ) 123 124 // GetModemTypeFromVariant gets DUT's modem type from variant. 125 func GetModemTypeFromVariant(variant string) (ModemType, error) { 126 device, ok := KnownVariants[variant] 127 if !ok { 128 return 0, errors.Errorf("variant %q is not in |KnownVariants|", variant) 129 } 130 return device.Modem, nil 131 }