2015-01-03 00:57:56 +00:00
'use strict' ;
2016-08-17 11:29:18 +00:00
// This list has been extracted from the firmware source with:
2017-01-15 21:22:32 +00:00
// grep TARGET_BOARD_IDENTIFIER src/main/target/*/target.h | sed -n "s/^src\/main\/target\/\([^\/]*\).*#define TARGET_BOARD_IDENTIFIER \"\([^\"]*\).*$/ {name: '\1', identifier: '\2', vcp: true},/p" | sort
2016-08-17 11:29:18 +00:00
// and then manually setting vcp to true for boards that use VCP
2017-01-15 21:22:32 +00:00
// Also, please note that the targets in this list are ordered in the order they are returned by the above command. Please do not reorder to avoid churn.
2016-08-17 11:29:18 +00:00
2015-01-03 00:57:56 +00:00
var BOARD _DEFINITIONS = [
2016-11-14 13:07:34 +00:00
{ name : 'AIR32' , identifier : 'AR32' , vcp : true } ,
{ name : 'AIRHEROF3' , identifier : 'AIR3' , vcp : false } ,
{ name : 'ALIENFLIGHTF1' , identifier : 'AFF1' , vcp : false } ,
{ name : 'ALIENFLIGHTF3' , identifier : 'AFF3' , vcp : true } ,
{ name : 'ALIENFLIGHTF4' , identifier : 'AFF4' , vcp : true } ,
{ name : 'ANYFCF7' , identifier : 'ANY7' , vcp : true } ,
{ name : 'BETAFLIGHTF3' , identifier : 'BFF3' , vcp : true } ,
{ name : 'BLUEJAYF4' , identifier : 'BJF4' , vcp : true } ,
{ name : 'CC3D' , identifier : 'CC3D' , vcp : true } ,
{ name : 'CHEBUZZF3' , identifier : 'CHF3' , vcp : true } ,
{ name : 'CJMCU' , identifier : 'CJM1' , vcp : false } ,
{ name : 'COLIBRI' , identifier : 'COLI' , vcp : true } ,
{ name : 'COLIBRI_RACE' , identifier : 'CLBR' , vcp : true } ,
{ name : 'DOGE' , identifier : 'DOGE' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'ELLE0' , identifier : 'ELL0' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'F4BY' , identifier : 'F4BY' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'FISHDRONEF4' , identifier : 'FDF4' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'FURYF3' , identifier : 'FYF3' , vcp : true } ,
{ name : 'FURYF4' , identifier : 'FYF4' , vcp : true } ,
{ name : 'FURYF7' , identifier : 'FYF7' , vcp : true } ,
{ name : 'IMPULSERCF3' , identifier : 'IMF3' , vcp : true } ,
{ name : 'IRCFUSIONF3' , identifier : 'IFF3' , vcp : true } ,
{ name : 'ISHAPEDF3' , identifier : 'ISF3' , vcp : false } ,
{ name : 'KAKUTEF4' , identifier : 'KTV1' , vcp : true } ,
{ name : 'KISSFC' , identifier : 'KISS' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'KIWIF4' , identifier : 'KIWI' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'LUXV2_RACE' , identifier : 'LUXR' , vcp : true } ,
{ name : 'LUX_RACE' , identifier : 'LUX' , vcp : true } ,
{ name : 'MICROSCISKY' , identifier : 'MSKY' , vcp : false } ,
{ name : 'MOTOLAB' , identifier : 'MOTO' , vcp : true } ,
{ name : 'MULTIFLITEPICO' , identifier : 'MFPB' , vcp : false } ,
{ name : 'AFROMINI' , identifier : 'AFMN' , vcp : false } ,
{ name : 'NAZE' , identifier : 'AFNA' , vcp : false } ,
{ name : 'BEEBRAIN' , identifier : 'BEBR' , vcp : false } ,
2017-01-15 21:22:32 +00:00
{ name : 'NERO' , identifier : 'NERO' , vcp : true } ,
{ name : 'NUCLEOF7' , identifier : 'NUC7' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'OMNIBUSF4' , identifier : 'OBF4' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'OMNIBUSF4SD' , identifier : 'OBSD' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'OMNIBUS' , identifier : 'OMNI' , vcp : true } ,
{ name : 'PIKOBLX' , identifier : 'PIKO' , vcp : true } ,
{ name : 'RACEBASE' , identifier : 'RBFC' , vcp : false } ,
{ name : 'RCEXPLORERF3' , identifier : 'REF3' , vcp : true } ,
{ name : 'AIRBOTF4' , identifier : 'AIR4' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'PODIUMF4' , identifier : 'PODI' , vcp : true } ,
2016-11-14 20:41:28 +00:00
{ name : 'REVO' , identifier : 'REVO' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'REVOLT' , identifier : 'RVLT' , vcp : true } ,
{ name : 'SOULF4' , identifier : 'SOUL' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'REVONANO' , identifier : 'REVN' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'RG_SSD_F3' , identifier : 'RGF3' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'SINGULARITY' , identifier : 'SING' , vcp : true } ,
{ name : 'SIRINFPV' , identifier : 'SIRF' , vcp : true } ,
{ name : 'SPARKY2' , identifier : 'SPK2' , vcp : true } ,
{ name : 'SPARKY' , identifier : 'SPKY' , vcp : true } ,
{ name : 'SPRACINGF3EVO' , identifier : 'SPEV' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'AIORACERF3' , identifier : 'ARF3' , vcp : true } ,
{ name : 'RMDO' , identifier : 'RMDO' , vcp : false } ,
2016-11-14 13:07:34 +00:00
{ name : 'SPRACINGF3' , identifier : 'SRF3' , vcp : false } ,
{ name : 'SPRACINGF3MINI' , identifier : 'SRFM' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'TINYBEEF3' , identifier : 'TBF3' , vcp : true } ,
{ name : 'SPRACINGF3NEO' , identifier : 'SP3N' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'STM32F3DISCOVERY' , identifier : 'SDF3' , vcp : true } ,
2017-01-15 21:22:32 +00:00
{ name : 'TINYFISH' , identifier : 'TFSH' , vcp : true } ,
2016-11-14 13:07:34 +00:00
{ name : 'VRRACE' , identifier : 'VRRA' , vcp : true } ,
{ name : 'X_RACERSPI' , identifier : 'XRC3' , vcp : false } ,
{ name : 'YUPIF4' , identifier : 'YPF4' , vcp : true } ,
{ name : 'ZCOREF3' , identifier : 'ZCF3' , vcp : false }
2015-01-03 00:57:56 +00:00
] ;
var DEFAULT _BOARD _DEFINITION = {
2016-11-14 13:07:34 +00:00
name : "Unknown" , identifier : "????" , vcp : false
2015-01-03 00:57:56 +00:00
} ;
2016-11-14 13:07:34 +00:00
var BOARD = { } ;
2015-01-03 00:57:56 +00:00
BOARD . find _board _definition = function ( identifier ) {
for ( var i = 0 ; i < BOARD _DEFINITIONS . length ; i ++ ) {
var candidate = BOARD _DEFINITIONS [ i ] ;
2016-11-14 13:07:34 +00:00
2015-01-03 00:57:56 +00:00
if ( candidate . identifier == identifier ) {
return candidate ;
}
}
return DEFAULT _BOARD _DEFINITION ;
} ;