/*************************************************************************** * Copyright (C) 2020 by Federico Amedeo Izzo IU2NUO, * * Niccolò Izzo IU2KIN * * Frederik Saraci IU2NRO * * Silvano Seva IU2KWO * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, see * ***************************************************************************/ #include #include #include // Simulate CPS with 16 channels, 16 zones, 16 contacts const uint32_t maxNumZones = 16; const uint32_t maxNumChannels = 16; const uint32_t maxNumContacts = 16; const freq_t dummy_base_freq = 145500000; void nvm_init() { } void nvm_terminate() { } void nvm_loadHwInfo(hwInfo_t *info) { /* Linux devices does not have any hardware info in the external flash. */ (void) info; } int nvm_readVFOChannelData(channel_t *channel) { (void) channel; return -1; } int nvm_readChannelData(channel_t *channel, uint16_t pos) { if((pos <= 0) || (pos > maxNumChannels)) return -1; /* Generate dummy channel name */ snprintf(channel->name, 16, "Channel %d", pos); /* Generate dummy frequency values */ channel->rx_frequency = dummy_base_freq + pos * 100000; channel->tx_frequency = dummy_base_freq + pos * 100000; return 0; } int nvm_readZoneData(zone_t *zone, uint16_t pos) { if((pos <= 0) || (pos > maxNumZones)) return -1; /* Generate dummy zone name */ snprintf(zone->name, 16, "Zone %d", pos); memset(zone->member, 0, sizeof(zone->member)); // Add fake zone member indexes zone->member[0] = pos; zone->member[1] = pos+1; zone->member[2] = pos+2; return 0; } int nvm_readContactData(contact_t *contact, uint16_t pos) { if((pos <= 0) || (pos > maxNumContacts)) return -1; /* Generate dummy contact name */ snprintf(contact->name, 16, "Contact %d", pos); return 0; } int nvm_readSettings(settings_t *settings) { (void) settings; return -1; } int nvm_writeSettings(settings_t *settings) { (void) settings; return -1; }