// Filename : sobel.h
//
// This file was initially generated by SpaceStudio but is meant to be modified
// by the user.
#ifndef SOBEL_H
#define SOBEL_H

#include "spacecomp.h"
#include "abstract_module.h"
#include "application_definitions.h"

// Do NOT move macros, functions and includes beginning with "spacecomp".

class sobel: public abstract_module {
	SPACECOMP_START(sobel, INDEX, sobel);

public:
	sobel(SPACECOMP_CTOR_PARAMS(sobel, INDEX));

	void thread(SPACECOMP_THREAD_PARAMS(sobel, INDEX, thread));

	// You may add member functions and fields as desired here.

	SPACECOMP_END(sobel, INDEX, sobel);

private:
	uint8_t sobel_operator(uint8_t convolution_window[3][3], uint32_t line);
};

#endif
