Ejemplo n.º 1
0
static void print_assoclist(const struct iwinfo_ops *iw, const char *ifname)
{
	int i, len;
	char buf[IWINFO_BUFSIZE];
	struct iwinfo_assoclist_entry *e;

	if (iw->assoclist(ifname, buf, &len))
	{
		printf("No information available\n");
		return;
	}
	else if (len <= 0)
	{
		printf("No station connected\n");
		return;
	}

	for (i = 0; i < len; i += sizeof(struct iwinfo_assoclist_entry))
	{
		e = (struct iwinfo_assoclist_entry *) &buf[i];

		printf("%s  %s / %s (SNR %d)\n",
			format_bssid(e->mac),
			format_signal(e->signal),
			format_noise(e->noise),
			(e->signal - e->noise));
	}
}
Ejemplo n.º 2
0
static char * print_signal(const struct iwinfo_ops *iw, const char *ifname)
{
	int sig;
	if (iw->signal(ifname, &sig))
		sig = 0;

	return format_signal(sig);
}
Ejemplo n.º 3
0
static void print_assoclist(const struct iwinfo_ops *iw, const char *ifname)
{
	int i, len;
	char buf[IWINFO_BUFSIZE];
	struct iwinfo_assoclist_entry *e;

	if (iw->assoclist(ifname, buf, &len))
	{
		printf("No information available\n");
		return;
	}
	else if (len <= 0)
	{
		printf("No station connected\n");
		return;
	}

	for (i = 0; i < len; i += sizeof(struct iwinfo_assoclist_entry))
	{
		e = (struct iwinfo_assoclist_entry *) &buf[i];

		printf("%s  %s / %s (SNR %d)  %d ms ago\n",
			format_bssid(e->mac),
			format_signal(e->signal),
			format_noise(e->noise),
			(e->signal - e->noise),
			e->inactive);

		printf("	RX: %-38s  %8d Pkts.\n",
			format_assocrate(&e->rx_rate),
			e->rx_packets
		);

		printf("	TX: %-38s  %8d Pkts.\n\n",
			format_assocrate(&e->tx_rate),
			e->tx_packets
		);
	}
}
Ejemplo n.º 4
0
static void print_scanlist(const struct iwinfo_ops *iw, const char *ifname)
{
	int i, x, len;
	char buf[IWINFO_BUFSIZE];
	struct iwinfo_scanlist_entry *e;

	if (iw->scanlist(ifname, buf, &len))
	{
		printf("Scanning not possible\n\n");
		return;
	}
	else if (len <= 0)
	{
		printf("No scan results\n\n");
		return;
	}

	for (i = 0, x = 1; i < len; i += sizeof(struct iwinfo_scanlist_entry), x++)
	{
		e = (struct iwinfo_scanlist_entry *) &buf[i];

		printf("Cell %02d - Address: %s\n",
			x,
			format_bssid(e->mac));
		printf("          ESSID: %s\n",
			format_ssid(e->ssid));
		printf("          Mode: %s  Channel: %s\n",
			e->mode ? (char *)e->mode : "unknown",
			format_channel(e->channel));
		printf("          Signal: %s  Quality: %s/%s\n",
			format_signal(e->signal - 0x100),
			format_quality(e->quality),
			format_quality_max(e->quality_max));
		printf("          Encryption: %s\n\n",
			format_encryption(&e->crypto));
	}
}
Ejemplo n.º 5
0
int main(int /*argc*/, char** /*argv*/) {

	// Slide property
	size_t n1 = 9;
	size_t N = 18;

    try {
        // note: by default, imread always returns 3-ch images unless the cv::IMREAD_GRAYSCALE flag is set (here we hardcode it based on prior knowledge)
        const std::vector<ImagePathFlag> vsTestImages = {
            {"data/test1.png",cv::IMREAD_GRAYSCALE},
            {"data/test2.png",cv::IMREAD_GRAYSCALE},
            {"data/test3.png",cv::IMREAD_GRAYSCALE},
            {"data/test4.png",cv::IMREAD_COLOR},
            {"data/test5.png",cv::IMREAD_COLOR},
            {"data/test6.png",cv::IMREAD_COLOR},
            {"data/test7.png",cv::IMREAD_COLOR},
            {"data/test8.jpg",cv::IMREAD_COLOR},
            {"data/test9.bmp",cv::IMREAD_COLOR},
            {"data/test10.bmp",cv::IMREAD_COLOR},
        };
        for(const ImagePathFlag& oImagePathFlag : vsTestImages) {
            cv::Mat oInputImg = cv::imread(oImagePathFlag.first,oImagePathFlag.second);
            if(oInputImg.empty())
                CV_Error_(-1,("Could not load image at '%s', check local paths",oImagePathFlag.first.c_str()));

			std::vector<uint8_t> formatSignal = format_signal(oInputImg);

			std::vector<LZ77Code> encodeSignal = lz77_encode(formatSignal, N, n1);

			std::vector<uint8_t> decode = lz77_decode(encodeSignal, N, n1);

			std::cout << "\n***** New Data *******";
			std::cout << "\nTaille plain (byte): " << (formatSignal.size());
			std::cout << "\nTaille encode (byte): " << (encodeSignal.size());
			double taux = 1.0 - (double)encodeSignal.size() / (double)formatSignal.size();
			std::cout << "\nTaux compression: " << std::to_string(taux);

			if (decode.size() > formatSignal.size())
			{
				decode.pop_back();
			}

			//cv::Mat oOutputImg = reformat_image(decode, oInputImg.size());
			/*
			bool areImageEquals = std::equal(oInputImg.begin<uchar>(), oInputImg.end<uchar>(), oOutputImg.begin<uchar>());
			if (areImageEquals)
			{
				std::cout << "Yay!\n";
			}
			else {
				std::cout << "Ohhhh :(\n";
			}*/
			
            // ... @@@@ TODO (make sure decoding also provides the original image!)
            
        }
		ghettoTestEncode();
    }
    catch(const cv::Exception& e) {
        std::cerr << "Caught cv::Exceptions: " << e.what() << std::endl;
    }
    catch(const std::runtime_error& e) {
        std::cerr << "Caught std::runtime_error: " << e.what() << std::endl;
    }
    catch(const std::exception e) {
        std::cerr << "Caught unhandled exception." << e.what() << std::endl;
    }
    return 0;
}