42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
/*
|
|
*******************************************************************************
|
|
* INCLUDE
|
|
*******************************************************************************
|
|
*/
|
|
#include "../BoardInfo.h"
|
|
#include "Board.h"
|
|
#include <Poco/Format.h>
|
|
#include <Poco/MD5Engine.h>
|
|
#include <iostream>
|
|
#include <hi_mpi_sys.h>
|
|
|
|
namespace Hardware
|
|
{
|
|
namespace Hisilicon
|
|
{
|
|
/*
|
|
*******************************************************************************
|
|
* CLASS DEFINE
|
|
*******************************************************************************
|
|
*/
|
|
Board::Board()
|
|
{
|
|
hi_unique_id id;
|
|
hi_mpi_sys_get_unique_id(&id);
|
|
for (size_t i = 0; i < HI_UNIQUE_ID_NUM; i++)
|
|
{
|
|
std::cout << "#" << i << ": " << Poco::format("%08x", id.id[i]) << std::endl;
|
|
}
|
|
|
|
Poco::MD5Engine md5;
|
|
md5.update(id.id, sizeof(id.id));
|
|
_serialNumber = Poco::DigestEngine::digestToHex(md5.digest());
|
|
std::cout << "Serial Number: " << _serialNumber << std::endl;
|
|
}
|
|
|
|
std::string Hisilicon::Board::serialNumber()
|
|
{
|
|
return _serialNumber;
|
|
}
|
|
}
|
|
}
|